用广度优先搜索建立图的邻接表。
state,num:array[0..100] of longint;
v:array[0..100] of boolean;
g:array[0..100,0..100] of longint;
n,e:longint;
var
head,tail,i,ans:longint;
begin
head:=0;
tail:=1;
state[1]:=1;
v[1]:=false;
ans:=1;
repeat
inc(head);
for i:=1 to num[state[head]] do
if v[g[state[head],i]] then
begin
inc(tail);
state[tail]:=g[state[head],i];
v[g[state[head],i]]:=false;
end;
until head>=tail;
for i:=1 to head do
write(state[i],' ');
var
x,y,i:longint;
begin
readln(n,e);
for i:=1 to e do
begin
readln(x,y);
inc(num[x]);
inc(num[y]);
g[x,num[x]]:=y;
g[y,num[y]]:=x;
end;
fillchar(v,sizeof(v),true);
init;
bfs;
程序:
var
procedure bfs;
end;
procedure init;
end;
begin
end.