📄 graph.cpp
字号:
//图的主函数部分,文件名为graph.cpp
#include"shuju.h"
//void main()
//{
/*ALGraph G1;
creatLink(&G1);
visit(G1);
//if(!TopologiSort(G1))printf("Toposort is not success!\n");
DFSTraverse(G1,Vvisit);
BFSTraverse(G1,Vvisit);*/
/*int P[100][100];
int D[100];
MGraph G2;
CreateUDN(G2);
PrintfMGraph(G2);
char v0;
v0='a';
MiniSpanTree_PRIM(G2,v0);
ShortestPath_DIJ(G2,v0,P,D);*/
// OLGraph G;
// CreateUDG(G);
// visit_OL(G);
//}
void main()
{
ALGraph G1;
int P[100][100];
int D[100];
MGraph G2;
char v0;
v0='a';
OLGraph G;
int select;
while(select){
printf("1,键盘输入数据,建立一个有向图的邻接表\n");
printf("2,输出该邻接表\n");
printf("3,建立一个无向图的十字链表\n");
printf("4.在有向图的邻接表基础上计算个顶点的读,并输出\n");
printf("5,以有向图的邻接表为基础输出它的拓扑排序序列\n");
printf("6,采用邻接矩阵存储一个有向图,输出但源点到其它个点的最短路径\n");
printf("7,采用邻接表存储实现无向图的深度优先搜索\n");
printf("8,采用该邻接表存储实现无向图的广度优先搜索遍历\n");
printf("9,采用邻接矩阵存储实现无向图的最小生成树的PRIM 算法\n");
printf("0,退出\n");
printf("请输入你的选择\n");
scanf("%d",&select);
switch(select){
case 1: creatLink(&G1);
printf("邻接表创建成功\n");
break;
case 2: visit(G1);
break;
case 3: CreateUDG(G);
visit_OL(G);
break;
case 4:cacu(&G1);
printdegree(G1);
break;
case 5: if(!TopologiSort(G1))printf("Toposort is not success!\n");
break;
case 6: CreateUDN(G2);
PrintfMGraph(G2);
printf("请输入但源点v0\n");
scanf("%s",&v0);
ShortestPath_DIJ(G2,v0,P,D);
break;
case 7: DFSTraverse(G1,Vvisit);
break;
case 8: BFSTraverse(G1,Vvisit);
break;
case 9: MiniSpanTree_PRIM(G2,v0);
break;
case 0:
break;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -