格式标准版本
printf("%c",G.vexs[k]);
else printf(" -> %c",G.vexs[k]); ++z; if((z-1)%G.vexnum==0) z=1;
for(i=FirstVex(G,k);i>=0;i=NextVex(G,k,i))
if(!visited[i]) DFS(G,i); //对k的尚未访问的邻接顶点i递归调用DFS } }
//广度优先遍历 void BFS(Graph G){ int k; Queue Q;
//辅助队列Q
//访问第k个顶点
Q.InitQueue();
for(int i=0;i<G.vexnum;i++) if(!visited[i]){ visited[i]=true;
printf("%c ",G.vexs[i]); Q.EnQueue(i);
//i入列
//i尚未访问
while(Q.front!=Q.rear){ Q.DeQueue(k);
//队头元素出列并置为k
for(int w=FirstVex(G,k);w>=0;w=NextVex(G,k,w)) if(!visited[w]){ visited[w]=true;
printf("-> %c ",G.vexs[w]); Q.EnQueue(w); } }
} printf("\n 请继续选择:\n"); }
void choose(Graph G){ int i,m;
visited=(bool *)malloc(G.vexnum*sizeof(bool));
14
//w为k的尚未访问的邻接顶点
//对输入选项调用相应的函数执行操作
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库图的遍历实现课程设计 数据结构 程序 图(18)在线全文阅读。
相关推荐: