c++实现图的基本操作的建立及输出

c++实现图的基本操作的建立及输出

ID:14403385

大小:67.00 KB

页数:29页

时间:2018-07-28

c++实现图的基本操作的建立及输出_第1页
c++实现图的基本操作的建立及输出_第2页
c++实现图的基本操作的建立及输出_第3页
c++实现图的基本操作的建立及输出_第4页
c++实现图的基本操作的建立及输出_第5页
资源描述:

《c++实现图的基本操作的建立及输出》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、c++实现图的基本操作的建立及输出百度首页

2、百度知道

3、登录淘金行动,宝箱开启!淘金行动火热升级,第二波奖品等你来拿!更有财富值及精美徽章等着你哦~勇往直前,意想不到的惊喜等着你!查看新闻网页贴吧知道MP3图片视频百科文库帮助

4、设置百度知道>电脑/网络>程序设计>C/C++图的建立及输出悬赏分:0

5、解决时间:2008-6-2423:42

6、提问者:power871012任务:建立图的存储结构(图的类型可以是有向图、无向图、有向网、无向网,学生可以任选两种类型),能够输入图的顶点和边的信息,并存储到相应存储结构中,而后输出图的邻接矩阵。求c程序最佳答案

7、两个版本.第一个是我自己做的,带深度遍历第二个是同学的,比较全.时间太久了..自己都看不明白了您自己研究吧#include"stdlib.h"#defineTRUE1#defineFALSE0#defineOK1#defineERROR0#defineINFEASIBLE-1#defineOVERFLOW-2#defineMAX_VERTEX_NUM20#defineINFINITY2000000000typedefcharInfoType;typedefcharVertexType;intvisited[20];typedefstructArc

8、Node{intadjvex;//该弧所指向的顶点的位置structArcNode*nextarc;//指向下一条弧的指针InfoType*info;//该弧相关信息的指针}ArcNode;typedefstructVNode{VertexTypedata;//顶点信息ArcNode*firstarc;//指向第一条依附该顶点的弧}VNode,AdjList[MAX_VERTEX_NUM];typedefstruct{AdjListvertices;//结构体数组intvexnum,arcnum;//顶点数、弧数}ALGraph;voidCrea

9、teALGraph(ALGraph&G){inti,j;ArcNode*p;printf("请输入顶点个数和弧数:");scanf("%d%d",&G.vexnum,&G.arcnum);//顶点个数和弧数getchar();printf("读顶点的值:");for(inti=0;i

10、){scanf("%d%d",&i,&j);//读入一对顶点序号p=newArcNode;//生成结点,用头插法插入p->adjvex=j;p->nextarc=G.vertices[i].firstarc;G.vertices[i].firstarc=p;}}//build_adjlistintFirstAdjVex(ALGraphG,intv){ArcNode*TNode=G.vertices[v].firstarc;if(TNode!=NULL)returnTNode->adjvex;elsereturn-1;}intNextAdjVex(

11、ALGraphG,intv,intw){ArcNode*TNode=G.vertices[v].firstarc;while(TNode->adjvex!=w){TNode=TNode->nextarc;if(!TNode){printf("w不存在.");exit(1);}}TNode=TNode->nextarc;if(TNode!=NULL)returnTNode->adjvex;elsereturn-1;}voidDisplayALGraph(ALGraphG){for(inti=0;i

12、c",i,G.vertices[i].data);ArcNode*TNode=G.vertices[i].firstarc;if(FirstAdjVex(G,i)!=-1){printf("->%d",FirstAdjVex(G,i));while(TNode->nextarc!=NULL){printf("->%d",TNode->nextarc->adjvex);TNode=TNode->nextarc;}}printf("");}}voidDFS(ALGraphG,intv){intw;visited[v]=1;printf("%d%c

13、->",v,G.vertices[v].data);for(w=FirstAdjVex(G,v);w!=-1;w=NextAdjVex(

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

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

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