欢迎来到天天文库
浏览记录
ID:15463419
大小:26.50 KB
页数:3页
时间:2018-08-03
《图的深度遍历源代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、图的深度遍历源代码.txt38当乌云布满天空时,悲观的人看到的是“黑云压城城欲摧”,乐观的人看到的是“甲光向日金鳞开”。无论处在什么厄运中,只要保持乐观的心态,总能找到这样奇特的草莓。#include#include#defineINFINITY32767#defineMAX_VEX20//最大顶点个数bool*visited;//访问标志数组//图的邻接矩阵存储结构typedefstruct{char*vexs;//顶点向量intarcs[MAX_VEX][MAX_VEX
2、];//邻接矩阵intvexnum,arcnum;//图的当前顶点数和弧数}Graph;//图G中查找元素c的位置intLocate(GraphG,charc){for(inti=0;i3、getchar();//接收回车G.vexs=(char*)malloc(G.vexnum*sizeof(char));//分配顶点数目printf("输入%d个顶点.",G.vexnum);for(i=0;i4、[j]=INFINITY;printf("输入%d条弧.",G.arcnum);for(i=0;i5、f(k>=0&&k=0&&i=0&&j6、return-1;}//深度优先遍历voidDFS(GraphG,intk){inti;if(k==-1){//第一次执行DFS时,k为-1for(i=0;i=0;i=NextVex(G,k,i))if(!visited[i])DFS(G,i);//对k的尚7、未访问的邻接顶点i递归调用DFS}}//主函数voidmain(){inti;GraphG;CreateUDN(G);visited=(bool*)malloc(G.vexnum*sizeof(bool));printf("深度优先遍历:");for(i=0;i8、c输入顶点3:d输入顶点4:e输入顶点5:f输入顶点6:g输入顶点7:h输入9条弧.输入弧0:ab1输入弧1:bd1输入弧2:be1输入弧3:dh1输入弧4:eh1输入弧5:ac1输入弧6:cf1输入弧7:cg1输入弧8:fg1深度优先遍历:abdhecfg程序结束.
3、getchar();//接收回车G.vexs=(char*)malloc(G.vexnum*sizeof(char));//分配顶点数目printf("输入%d个顶点.",G.vexnum);for(i=0;i4、[j]=INFINITY;printf("输入%d条弧.",G.arcnum);for(i=0;i5、f(k>=0&&k=0&&i=0&&j6、return-1;}//深度优先遍历voidDFS(GraphG,intk){inti;if(k==-1){//第一次执行DFS时,k为-1for(i=0;i=0;i=NextVex(G,k,i))if(!visited[i])DFS(G,i);//对k的尚7、未访问的邻接顶点i递归调用DFS}}//主函数voidmain(){inti;GraphG;CreateUDN(G);visited=(bool*)malloc(G.vexnum*sizeof(bool));printf("深度优先遍历:");for(i=0;i8、c输入顶点3:d输入顶点4:e输入顶点5:f输入顶点6:g输入顶点7:h输入9条弧.输入弧0:ab1输入弧1:bd1输入弧2:be1输入弧3:dh1输入弧4:eh1输入弧5:ac1输入弧6:cf1输入弧7:cg1输入弧8:fg1深度优先遍历:abdhecfg程序结束.
4、[j]=INFINITY;printf("输入%d条弧.",G.arcnum);for(i=0;i5、f(k>=0&&k=0&&i=0&&j6、return-1;}//深度优先遍历voidDFS(GraphG,intk){inti;if(k==-1){//第一次执行DFS时,k为-1for(i=0;i=0;i=NextVex(G,k,i))if(!visited[i])DFS(G,i);//对k的尚7、未访问的邻接顶点i递归调用DFS}}//主函数voidmain(){inti;GraphG;CreateUDN(G);visited=(bool*)malloc(G.vexnum*sizeof(bool));printf("深度优先遍历:");for(i=0;i8、c输入顶点3:d输入顶点4:e输入顶点5:f输入顶点6:g输入顶点7:h输入9条弧.输入弧0:ab1输入弧1:bd1输入弧2:be1输入弧3:dh1输入弧4:eh1输入弧5:ac1输入弧6:cf1输入弧7:cg1输入弧8:fg1深度优先遍历:abdhecfg程序结束.
5、f(k>=0&&k=0&&i=0&&j6、return-1;}//深度优先遍历voidDFS(GraphG,intk){inti;if(k==-1){//第一次执行DFS时,k为-1for(i=0;i=0;i=NextVex(G,k,i))if(!visited[i])DFS(G,i);//对k的尚7、未访问的邻接顶点i递归调用DFS}}//主函数voidmain(){inti;GraphG;CreateUDN(G);visited=(bool*)malloc(G.vexnum*sizeof(bool));printf("深度优先遍历:");for(i=0;i8、c输入顶点3:d输入顶点4:e输入顶点5:f输入顶点6:g输入顶点7:h输入9条弧.输入弧0:ab1输入弧1:bd1输入弧2:be1输入弧3:dh1输入弧4:eh1输入弧5:ac1输入弧6:cf1输入弧7:cg1输入弧8:fg1深度优先遍历:abdhecfg程序结束.
6、return-1;}//深度优先遍历voidDFS(GraphG,intk){inti;if(k==-1){//第一次执行DFS时,k为-1for(i=0;i=0;i=NextVex(G,k,i))if(!visited[i])DFS(G,i);//对k的尚
7、未访问的邻接顶点i递归调用DFS}}//主函数voidmain(){inti;GraphG;CreateUDN(G);visited=(bool*)malloc(G.vexnum*sizeof(bool));printf("深度优先遍历:");for(i=0;i8、c输入顶点3:d输入顶点4:e输入顶点5:f输入顶点6:g输入顶点7:h输入9条弧.输入弧0:ab1输入弧1:bd1输入弧2:be1输入弧3:dh1输入弧4:eh1输入弧5:ac1输入弧6:cf1输入弧7:cg1输入弧8:fg1深度优先遍历:abdhecfg程序结束.
8、c输入顶点3:d输入顶点4:e输入顶点5:f输入顶点6:g输入顶点7:h输入9条弧.输入弧0:ab1输入弧1:bd1输入弧2:be1输入弧3:dh1输入弧4:eh1输入弧5:ac1输入弧6:cf1输入弧7:cg1输入弧8:fg1深度优先遍历:abdhecfg程序结束.
此文档下载收益归作者所有