资源简介
判断一个有向图中是否存在回路,并进行输出(拓扑算法)

代码片段和文件信息
#include“AdjGrap.h“
#define INFINITE 32767
using namespace std;
template
bool ToplogySort(AdjGraph&G int *SortArray)
{
int n = G.VerticesNum();
int * indegree = new int[n];
int v;
Edge e;
for (v = 0; v < n; v++)
{
indegree[v] = 0;
G.Mark[v] = UNVISITED;
}
for (v = 0; v < n; v++)
{
//统计各个顶点的入边信息
for (e = G.FirstEdge(v); G.IsEdge(e); e = G.NextEdge(e))
{
indegree[e.end]++;
}
}
for (int i = 0; i < n; i++)
{
for (v = 0; v < n; v++)
{
if (indegree[v] == 0 && G.Mark[v] == UNVISITED)
{
break;
}
}
if (v == n &&i!=(n-1)) {
cout << “这条回路经过的点为“ << endl;
for (int i = 0; i < n; i++)
{
if (G.Mark[i] == UNVISITED)
cout << i << “ “;
}
cout << endl;
return false; }
G.Mark[v] = VISITED;
SortArray[i] = v;
for (e = G.FirstEdge(v); G.IsEdge(e); e = G.NextEdge(e))
{
indegree[e.end]--;
}
}
delete[]indegree;
return true;
}
void main()
{
int SortArraay[6];
AdjGraph graph(6);
graph.setEdge(0 0 INFINITE);
graph.setEdge(0 1 12);
graph.setEdge(0 2 10);
graph.setEdge(0 3 INFINITE);
graph.setEdge(0 4 30);
graph.setEdge(0 5 100 );
graph.setEdge(1 0 INFINITE);
graph.setEdge(1 1 INFINITE);
graph.setEdge(1 2 5);
graph.setEdge(1 3 INFINITE);
graph.setEdge(1 4 INFINITE);
graph.setEdge(1 5 INFINITE);
graph.setEdge(2 0 INFINITE);
graph.setEdge(2 1 INFINITE);
graph.setEdge(2 2 INFINITE);
graph.setEdge(2 3 50);
graph.setEdge(2 4 INFINITE);
graph.setEdge(2 5 INFINITE);
graph.setEdge(3 0 INFINITE);
graph.setEdge(3 1 INFINITE);
graph.setEdge(3 2 INFINITE);
graph.setEdge(3 3 INFINITE);
graph.setEdge(3 4 INFINITE);
graph.setEdge(3 5 10);
graph.setEdge(4 0 INFINITE);
graph.setEdge(4 1 INFINITE);
graph.setEdge(4 2 INFINITE);
graph.setEdge(4 3 20);
graph.setEdge(4 4 INFINITE);
graph.setEdge(4 5 INFINITE);
graph.setEdge(5 0 INFINITE);
graph.setEdge(5 1 INFINITE);
graph.setEdge(5 2 INFINITE);
graph.setEdge(5 3 INFINITE);
graph.setEdge(5 4 100);//修改书上5和4点的距离 ,使得成为环
graph.setEdge(5 5 INFINITE);
if (!ToplogySort(graph SortArraay))
{
cout << “有回路“ << endl;
return;
}
cout << “没有回路“ << endl;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-12-21 14:15 .vs\
目录 0 2016-12-21 14:15 .vs\P198T9\
目录 0 2016-12-21 14:15 .vs\P198T9\v14\
文件 32768 2016-12-21 18:33 .vs\P198T9\v14\.suo
目录 0 2016-12-21 18:12 Debug\
文件 54784 2016-12-21 18:33 Debug\P198T9.exe
文件 425616 2016-12-21 18:33 Debug\P198T9.ilk
文件 970752 2016-12-21 18:33 Debug\P198T9.pdb
目录 0 2016-12-21 18:33 P198T9\
文件 1784 2016-12-21 18:21 P198T9\AdjGrap.h
目录 0 2016-12-21 18:33 P198T9\Debug\
文件 624 2016-12-21 18:12 P198T9\Debug\P198T9.Build.CppClean.log
文件 141 2016-12-21 18:33 P198T9\Debug\P198T9.log
目录 0 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\
文件 558 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\CL.command.1.tlog
文件 15726 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\CL.read.1.tlog
文件 296 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\CL.write.1.tlog
文件 970 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\li
文件 2770 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\li
文件 280 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\li
文件 186 2016-12-21 18:33 P198T9\Debug\P198T9.tlog\P198T9.lastbuildstate
文件 347136 2016-12-21 18:33 P198T9\Debug\vc140.idb
文件 356352 2016-12-21 18:33 P198T9\Debug\vc140.pdb
文件 65691 2016-12-21 18:33 P198T9\Debug\源.obj
文件 988 2016-12-21 14:19 P198T9\Edge.h
文件 1150 2016-12-21 18:21 P198T9\Grap.h
文件 7517 2016-12-21 14:19 P198T9\P198T9.vcxproj
文件 1236 2016-12-21 14:19 P198T9\P198T9.vcxproj.filters
文件 2376 2016-12-21 18:33 P198T9\源.cpp
文件 1300 2016-12-21 14:15 P198T9.sln
文件 8286208 2016-12-21 18:33 P198T9.VC.db
............此处省略0个文件信息
- 上一篇:db2数据库培训课件
- 下一篇:实现快速排序
相关资源
- VisualStudioUninstaller vs卸载工具
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- 数据结构年终考题范围和答案 耿国华
- 数据结构 朱战力 习题解答 数据结构
- VC 获得文件属性 获取文件的创建时
- 读者写者问题(读者优先,写者优先
- 数据结构课程设计 6 1 彩票系统
- 用VC 编写的仿QQ聊天室程序源代码
- 教学计划编制系统
- 大数(链表、数组)实现
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
- 航空订票系统_数据结构课程设计
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 课程设计 职工信息管理系统
- VC 游戏编程—附源代码
- IpHlpApi.h&IpHlpApi.lib
- 清华大学 c 郑莉 ppt课件
- c 程序判断离散数学中命题公式
评论
共有 条评论