G->adjlist[i].vertex=i;
G->adjlist[i].firstedge=NULL;
printf(\第%d个顶点信息为%d,序号:%d\\n\ }
for(k=0;k
{
printf(\读入边(vi,vj)的顶点对序号:(用空格隔开)\\n\
scanf(\
s=(EdgeNode *)malloc(sizeof(EdgeNode));
s->adjvex=j;
s->next=G->adjlist[i].firstedge;
G->adjlist[i].firstedge=s;
s=(EdgeNode *)malloc(sizeof(EdgeNode));
s->adjvex=i;
s->next=G->adjlist[j].firstedge;
G->adjlist[j].firstedge=s;
} }
void DFS(ALGraph *G,int i){
EdgeNode *p;
printf(\这次访问顶点:%d\\n\
visited[i]=1;
p=G->adjlist[i].firstedge;
while(p)
{
if (!visited[p->adjvex])
DFS(G,p->adjvex);
p=p->next; } }
void InitVisited()
{
int i;
for(i=0;i { visited[i]=0; } } main() { ALGraph *G; int i,k; G=(ALGraph *)malloc(sizeof(ALGraph)); printf(\预令最大顶点数为10。\\n\ InitVisited(); CreateALGraph(G); printf(\从哪个顶点开始进行深度优先搜索?请输入该顶点的序号:\\n\ scanf(\ DFS(G,i); printf(\从哪个顶点开始进行广度优先搜索?请输入该顶点的序号:\\n\ scanf(\ InitVisited(); BFS(G,k); }