栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

。

#include
#includeusingnamespacestd;typedefcharVertexType;typedefintInfoType;constintMax_VERTEX_NUM=20;typedefstructArcNode{intadjvex;ArcNodenextarc;InfoTypeinfo;}ArcNode;typedefstruct{VertexTypedata;ArcNodefirstarc;}VNode,AdjList[Max_VERTEX_NUM];typedefstruct{AdjListvertices;intvexnum,arcnum;intkind;}ALGraph;intLocateVex(ALGraph&G,VertexTypev){inti;for(i=0;iG.vertices[i].data)break;}if(i>=G.vexnum){找不到,返回-1
returni;}voidCreateDG(ALGraph&G){//采用邻接表表示法,构建图VertexTypev1,v2;boolIncInfo;inti,j,k;cout<<“请依次输入有向图G的顶点数、弧数、弧信息标志(1或0):”;cin>>G.vexnum>>G.arcnum>>IncInfo;//IncInfo为0表示各弧不含相关信息cout<<“请输入各顶点信息:”;for(i=0;i>G.vertices[i].data;G.vertices[i].firstarc=NULL;}cout<<“输入弧(共”<>v1>>v2;j=LocateVex(G,v1);k=LocateVex(G,v2);if(j-1||k==-1)return;ArcNode
q=G.vertices[j].firstarc;ArcNodep=newArcNode;if(!q){G.vertices[j].firstarc=p;}else{while(q->nextarc)q=q->nextarc;q->nextarc=p;}p->adjvex=k;p->info=NULL;p->nextarc=NULL;}}//CreateDGvoidDisplayElem(VertexTypev){
cout<";for(ArcNode
p=G.vertices[i].firstarc;p;p=p->nextarc){coutp=G.vertices[i].firstarc;p;p=p->nextarc){InDegree[p->adjvex]++;}}}intFirstDegree0(ALGraph&G){for(inti=0;i0)returni;}return-1;}boolTopSort(ALGraph&G){//各结点入度记录intm=0;CountInDegree(G);intv=FirstDegree0(G);while(v!=-1){DisplayElem(G.vertices[v].data);tag[v]=true;;
if(mG.vexnum){cout<p=G.vertices[v].firstarc;p;p=p->nextarc){intw=p->adjvex;if(tag[w]==false)InDegree[w]–;}v=FirstDegree0(G);}if(m拓扑排序”<

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676516.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号