软件测试作业 图中任意两点的最短路径
来源:互联网 发布:南昌市金域名都二手房 编辑:程序博客网 时间:2024/05/22 12:02
软件测试相关:
#include<iostream>using namespace std;#define INFTY 65535 //边不相邻用INFTY代替//存储图的邻接矩阵int m[4][4]={{0,1,INFTY,4},{INFTY,0,9,2},{3,5,0,8},{INFTY,INFTY,6,0}};class MGraph{ public: MGraph(int size); ~MGraph(); void Floyd(); void shortestway(int u,int v); private: int **a,**d,**path; int n;};MGraph::MGraph(int size){ n=size; a=new int*[n]; for(int i=0;i<n;++i) a[i]=new int[n]; for( i=0;i<n;++i) for(int j=0;j<n;++j) a[i][j]=m[i][j];//用邻接矩阵初始化}MGraph::~MGraph(){ for(int i=0;i<n;++i) delete []a[i]; delete []a; a=NULL; for( i=0;i<n;++i) delete []d[i]; delete []d; d=NULL; for( i=0;i<n;++i) delete []path[i]; delete []path; path=NULL;}void MGraph::Floyd(){ int i,j,k; d=new int*[n]; path=new int*[n]; for( i=0;i<n;++i) { d[i]=new int[n]; path[i]=new int[n]; for(j=0;j<n;++j) { d[i][j]=a[i][j]; if(i!=j && m[i][j]<INFTY) path[i][j]=i;//i表示弧的起点 else path[i][j]=-1;//其实感觉这个-1没啥用,只是不让它和i点的值冲突即可 } } for(k=0;k<n;++k) for(i=0;i<n;++i) for(j=0;j<n;++j) if(d[i][k]+d[k][j]<d[i][j]) { d[i][j]=d[i][k]+d[k][j]; path[i][j]=path[k][j];//k这是一个新加入的点,将k加入path中去 }}void MGraph::shortestway(int u,int v)//输出最短路径{int way[4];int q=0;int w=v;while (w!=u){ way[q++] = path[u][w]; w=path[u][w];}cout<<u<<" 到 "<<v<<" 的最短路径为:";--q;for (int j=q; j>=0; j--) cout<<way[j]<<" ->";cout<<v<<endl;} void shortestPath(MGraph g, int node1, int node2){ g.Floyd(); g.shortestway(node1,node2); }int main(){ MGraph *g=new MGraph(4); //g.Floyd(); //g.shortestway(0,2); shortestPath(*g,0,2); system("pause"); return 0;}
0 0
- 软件测试作业 图中任意两点的最短路径
- 任意两点间的最短路径
- 求任意两点间的最短路径
- 任意两点间的最短路径---floyd_warshall算法
- 使用pgrouting求任意两点的最短路径
- floyd算法(求任意两点间的最短路径)
- Floyd算法(任意两点间的最短路径)
- 任意两点之间最短路径
- POJ 2139-- 最短路径 (floyd算法,任意两点间的最短路径)
- 运用Floyd算法求得带权有向图任意两点间的最短路径C/C++
- Dijkstra单源最短路径实现 及 Floyd任意两点之间的最短路径
- pgrouting路径分析(任意两点之间的最短路径)
- Floyd(求图中任意两点最短路径)
- Matalab代码 实现 Dijkstra求 有向图及无向图之间,任意两点之间的最短路径
- 【OI杂记】求二叉树上任意两点的最短路径上的边权最大值
- 基于pgrouting的任意两点间的最短路径查询函数
- 基于pgrouting的任意两点间的最短路径查询函数二
- 基于pgrouting求任意两点的最短路径的函数pgr_fromAtoB
- Android APK加壳技术方案【2】
- 计算Haar特征个数
- linux系统管理
- 变量声明与使用
- Git 远程仓库的管理和使用
- 软件测试作业 图中任意两点的最短路径
- 快速找出故障机器
- 淘宝坑爹购买纪录
- 【android,2】2.安卓的junit测试
- link和import导入css的区别
- windows下进行linux shell编程环境搭建(Cygwin ShellEd插件)
- 【android, 3】3.操作数据保存到rom,sd卡上,sharedpreference的使用,pul解析xml
- 临界区、互斥对象、WaitForSingleObject、WaitForMultipleObjects
- Android-Looper类介绍