资源简介
从文件读入。程序运行时输入源点和目的节点,运行输出在这两点之间的所有路径,并写到输出文件中,非常高效。
代码片段和文件信息
#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++代
- A*最佳路径c语言实现算法
- 交通安全 c或c++交通咨询系统能让旅客
- 自动驾驶路径规划文档
- C++实战源码-分解路径和名称
- C++实战源码-获取路径点信息
- C++ 获得Windows和System的路径
- C++ 获取特殊文件夹路径
- C++ 获取文件所在路径
- C++ 获取当前程序所在路径
- c语言支持自己创建迷宫,并求解最短
- c语言获取当前程序路径
- PAT | 蓝桥 | LeetCode学习路径 刷题经验
- 基于RRT及其改进型的路径规划算法
- 用C/C++写的求关键路径AOE
- 拓扑排序关键路径算法C语言完整代码
- QtC++用动态规划,djistra,Astar,Qlear
- 求两个城市之间的最短路径
- 二叉树建立,输出,找叶子节点路径
- C语言实现单源路径、多级调度、最小
- C++版数据结构关键路径代码通过邻接
- 图的算法最短路径缔结斯科拉算法
评论
共有 条评论