数据结构与算法课程设计报告图的算法实现.doc

数据结构与算法课程设计报告图的算法实现.doc

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构与算法课程设计报告图的算法实现

数据结构与算法 课程设计报告 typedef struct { char vexs[N]; int edges[N][N]; int n,e; //顶点数和边数 }MGraph;MGraph g; typedef struct { char adjvex; int lowcost; }minside; // 若G中存在顶点u,则返回该顶点在图中位置;否则返回-1。 int LocateVex(char u) { int i; for(i = 0; i g.n; ++i) if( u==g.vexs[i]) return i; else return -1; } // 求closedge.lowcost的最小正值 int minimum(minside SZ[]) { int i=0,j,k,min; while(SZ[i].lowcost==0) i++; min=SZ[i].lowcost; //第一个不为0的值 k=i; for(j=i+1;jg.n;j++) if(SZ[j].lowcost0) if(minSZ[j].lowcost) { min=SZ[j].lowcost; k=j; } return k; } 用outmatrix()函数输出邻接矩阵,getin_1()函数保存文件和对文件进行载入。 程序模块: void outmatrix()//邻接矩阵输出函数 { int i,m,z; printf(所建立表的邻接矩阵为:\n); printf(\t); for(i=0;ig.n;i++) printf(%c\t,g.vexs[i]); for(m=0;mg.n;m++) { printf(\n%c\t,g.vexs[m]); for(z=0;zg.n;z++) printf(%d\t,g.edges[m][z]); } } void getin_1()// 文件保存函数 { int a,b,k,w,z;FILE *fp; if((fp=fopen(record_1.txt,w))==NULL) /*打开文件,并判断打开是否正常*/ { printf(不能打开文件\n); /*没打开*/ exit(0); } printf(请输入顶点数:\n); scanf(%d,g.n); fprintf(fp,%d\n,g.n); printf(请输入边数:\n); scanf(%d,g.e); fprintf(fp,%d\n,g.e);//初始化矩阵各元素值//读入边 printf(请输入顶点信息:\n);//顶点的信息会出现在矩阵边界上。 fflush(stdin);//清空缓冲 for (z=0;zg.n;z++) { scanf(%c,g.vexs[z]); fprintf(fp,%c\n,g.vexs[z]);} for(a=0;ag.n;a++) for(b=0;bg.n;b++) g.edges[a][b]=0; printf(\n); printf(请输入应的弧头a和弧尾b及弧上的权值w(皆为整数,,从0开始,格式为:a,b,w):\n); for(k=0;kg.e;k++) { scanf(%d %d %d,a,b,w); fprintf(fp,%d %d %d\n,a,b,w); g.edges[a][b]=w; g.edges[b][a]=w; } fclose(fp); } void getout_1()//文件载入函数 { int i,a,b,w; FILE *fp; if((fp=fopen(record_1.txt,ab+))==NULL) { printf(不能打开文件\n); exit(0); } fscanf(fp,%d\n,g.n); fscanf(fp,%d\n,g.e); for(i=0;ig.n;i++) { fscanf(fp,%c\n,g.vexs[i]); }

文档评论(0)

almm118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档