无向图c语言的程序代码

无向图c语言的程序代码

ID:37769827

大小:16.72 KB

页数:7页

时间:2019-05-30

无向图c语言的程序代码_第1页
无向图c语言的程序代码_第2页
无向图c语言的程序代码_第3页
无向图c语言的程序代码_第4页
无向图c语言的程序代码_第5页
资源描述:

《无向图c语言的程序代码》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、/*实验项目名称:图的操作的实现实验目的与要求:1.基础知识:掌握数据结构中图的相关知识;掌握C或VC++语言中程序设计的方法.2.参考教材相关算法,完成以下程序功能:(1)利用邻接矩阵完成建图初始化;(2)利用广度优先或深度优先遍历算法编写对已建图的遍历工作;实验性质:验证性(4学时)说明:程序包含主要函数:主函数、建图、遍历、相关注释,并注意在程序中体现先建立后遍历的条件约束.*///----------------------------------无向图的存储与表示------------------

2、----------------------#include"stdio.h"#include"stdlib.h"#defineM10//最大顶点个数intvisited[M];//全局访问数组typedefstruct{intvex,arc;//无向图的顶点数和边数charvexs[M];//顶点数组intarcs[M][M];//边数组}MGraph;typedefstruct{int*base;//初始化的动态分配存储空间intfront;//头指针,若队列不为空,指向队列头元素intrear;//尾指

3、针,若队列不为空,指向队列尾元素的下一个位置}Queue;intJianTu(MGraph&G){ints,i,y,j,n,v,x;charc1,c2;do{//输入无向图的顶点个数printf("请输入无向图的顶点个数:");scanf("%d",&G.vex);if(G.vex<0

4、

5、G.vex>M)//输入有误请重新输入printf("输入有误请重新输入!");}while(G.vex<0

6、

7、G.vex>M);s=G.vex*(G.vex-1)/2;//此无向图的最多边数do{//输入无向图的边个数

8、printf("请输入无向图的边个数:");scanf("%d",&G.arc);if(G.arc<0

9、

10、G.arc>s)//输入有误请重新输入printf("输入有误请重新输入!");}while(G.arc<0

11、

12、G.arc>s);for(i=0;i

13、(G.vexs[i])){printf("输入有误请重新输入第%d个顶点:",i+1);getchar();scanf("%c",&G.vexs[i]);y=0;}}}for(i=0;i

14、-%c",&c1,&c2);for(i=0;i

15、s==0

16、

17、y==0

18、

19、v==1

20、

21、x==1)printf("输入有误请重新输入第%d条边用-隔开:",n+1);}while(s!=1

22、

23、y!=1

24、

25、v==1

26、

27、x==1);for(i=0;c1!=G.vexs[i];i++);//找到c1所对应的顶点for(j=0;c2!=G.vexs[j];j++);//找到c2所对应的顶点G.arcs[i][j]=1;//将其对应数组元素置0G.arcs[j][i]=G.arcs[i][j];//置其对称边为1}return1;}intDaYin(MGraphG){/

28、/打印出邻接矩阵inti,j;printf("此无向图的邻接矩阵为:");printf("");for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。