电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验三 图的应用

数据结构实验三 图的应用_第1页
1/18
数据结构实验三 图的应用_第2页
2/18
数据结构实验三 图的应用_第3页
3/18
数据结构实验三 图的应用(代码&测试界面)//Traffic_Inquiry.h#include #include #define FINITY 999 //用 999 代表无穷大 #define M 20 //城市最大个数 typedef struct { //邻接矩阵类型定义 char name[8];}CityNode; //城市信息结点的结构体(顶点值类型)typedef int distype; //权值类型-距离 typedef int costype; //权值类型-费用 typedef struct {CityNode citys[M]; //顶点信息域 distype dis[M][M]; //领接矩阵-距离costype cos[M][M]; //邻接矩阵-费用int n, e; //图中顶点总数与边数 }Mgraph; //建立图的邻接矩阵存储结构 void CreateGraph(Mgraph *g){int i, j, k; double d, c;printf("请输入城市数与路径数:");scanf("%d %d",&g->n, &g->e); for(i=0; in; i++) { //读入图的顶点数 printf("请输入第%d 个城市名称:",i); scanf("%s",g->citys[i].name); }for(i=0; in; i++) { //初始化邻接矩阵 for(j=0; jn; j++) {if(i==j) {g->dis[i][j]=0;g->cos[i][j]=0;}else {g->dis[i][j]=FINITY;g->cos[i][j]=FINITY; }}}printf("\n 城市名称录入完毕,录入结果:\n\t"); for(i=0; in; i++) { printf("%d->%s\t",i,g->citys[i].name); } printf("\n 录入路径的权值信息,示例:0 1 34 40"); printf("代表%s 到%s 的距离为 34 千米,费用为 40 元\n",g->citys[0].name,g->citys[1].name);sNsOJ。for(k=0; ke; k++) { //读入网络中的边scanf("%d %d %lf %lf",&i, &j, &d, &c);g->dis[i][j]=g->dis[j][i]=d;g->cos[i][j]=g->cos[j][i]=c;} }//Dijkstra 算法求解单源最短路径 typedef enum{FALSE,TRUE} boolean; //FALSE 为 0,TRUE 为 1 aykSp。void dijkstra(Mgraph g, int v0,const int q) //函数参数:图的领接矩阵 g;源点 v0;bec6U。{int d[M];//权值(距离或费用)向量类型int p[M];//路径类型boolean final[M]; //表示当前元素是否已经求出最短路径int i,k,v,min;//第一步,初始化集合 s 与距离向量 dfor (v=0; v

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验三 图的应用

确认删除?
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群