资源简介
从文件读入。程序运行时输入源点和目的节点,运行输出在这两点之间的所有路径,并写到输出文件中,非常高效。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
using namespace std;
int INFINITY = 0xffffffff;
int main()
{
// ifstream in(“Graph10-20.txt“);
ifstream in(“graphExtention.txt“);
//ifstream in(“Graph7-12(1).txt“);
ofstream out(“paths.txt“);
if(!in)
{
cout << “Error open graph.txt“ << endl;
return 1;
}
int n m num;
int i j;
int pathCount = 0;
in >> n;
int size = n ;
int **graph = new int*[size];
for(i = 0; i < size; i++)
{
graph[i] = new int[size];
// for(j = 0; j < size; j++) graph[j] = 0;
}
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
in >> graph[i][j];
cout << “Graph ok“ << endl;
cout << “Input your start and end“ << endl;
int from to;
cin >> from >> to;
assert(from < size);
assert(to < size);
vector vqueue;
vector parent;
int pos = 0;
int cur;
int top;
int count;
stack path;
bool visited = false;
vector whichOne;
vector nodeCount;
for(i = 0; i < n; i++) nodeCount.push_back(1);
vqueue.push_back(from);
parent.push_back(-1);
whichOne.push_back(1);
//nodeCount[from]++;
bool changed = false;
while(pos < vqueue.size())
{
top = vqueue[pos++];
// push every node adjecent to the queue
for(i = 0; i < size; i++)
{
if(i == from) continue;
if(graph[top][i] != 0)
{
//visited before?
{
visited = false;
cur = pos - 1;
while(parent[cur] != -1 && !visited)
{
相关资源
- c++迷宫最短路径寻径算法
- 基于遗传算法的机器人路径规划
- 交通咨询系统最短路径最小花费
- 关键路径的算法源代码
- c++实现图最短路径
- 拓扑排序与关键路径(C++版)
- MFC可视化_迷宫算法_最短路径
- 最短路径的篇论文及必经节点的遗传
- 迷宫MFC实现最短路径,有简单界面迷
- rrt路径规划243395
- 求AOE网络关键路径
- vc 最短路径演示程序源代码
- MFC 图数据结构 最短路径
- 最短路径用Dijkstra算法实现的MFC编程
- VS2008环境下C++实现Dijkstra算法,查找有
- 求图中任意两点的最短路径和全部路
- c++ mfc 校园导航 最短路径计算
- 随机迷宫的形成及迷宫路径查找与输
- MFC 拖曳文件获得文件路径
- c++数据结构课程设计-校园最短路径采
- QT c++ dijkstra最短路径工程源码
- 校园导游系统c语言代码及课程设计文
- 单台AGV最短路径规划,两台AGV路径自
- C/C++使用遗传算法解决车辆路径问题
-
SuperMap iob
jects C++ 8C 最佳路径分析 - MFC树形控件CTreeCtrl显示文件路径及文
- 基于最短路径的物流分配方法
- 最短路径查寻
- 公交车查询系统可换乘 MFC 自己做的
- Floyd最短路径程序(MFC)
评论
共有 条评论