0号题
来源:互联网 发布:小学英语单词记忆软件 编辑:程序博客网 时间:2024/06/05 11:30
#include<iostream>using namespace std;const int MaxSize=40;template<class T>class Mgraph{public:Mgraph(T a[],int n,int e);private:T vertex[MaxSize]; int arc[MaxSize][MaxSize]; int vertexNum,arcNum; friend void Floyd(Mgraph G,int v){int dist[20][30],path[20][30];int i,j,k;for(i=0;i<G.vertexNum;i++)for(j=0;j<G.vertexNum;j++){dist[i][j]=G.arc[i][j];if(dist[i][j]!=99)path[i][j]=G.vertex[i]+G.vertex[j];}for(k=0;k<G.vertexNum;k++)for(i=0;i<G.vertexNum;i++)for(j=0;j<G.vertexNum;j++)if(dist[i][k]+dist[k][j]<dist[i][j]){dist[i][j]=dist[i][k]+dist[k][j];path[i][j]=path[i][k]+path[k][j];}cout<<"输入需查询的顶点";cin>>k;for(i=0;i<G.vertexNum;i++){cout<<k<<"与"<<i<<"间的最短距离为"<<dist[k][i]<<endl;}}T vertex[MaxSize];int arc[MaxSize][MaxSize];int vertexNum,arcNum;};template<class T>Mgraph<T>::Mgraph(T a[],int n,int e){vertexNum=n;arcNum=e;int i,j,k;cout<<"顶点0:海涵"<<endl;for(i=0;i<vertexNum;i++)vertex[i]=a[i];for(i=0;i<vertexNum;i++)for(int j=0;j<arcNum;j++)arc[i][j]=0;for(k=0;k<arcNum;k++){cout<<"输入2个顶点的序号:";cin>>i>>j;cout<<"输入点"<<i<<"到"<<j<<"间的距离(m):";cin>>arc[i][j];}for(i=0;i<vertexNum;i++)for(j=0;j<arcNum;j++){if(i==j)arc[i][j]=0;if(i!=j&&arc[i][j]==0)arc[i][j]=无穷远;elsearc[j][i]=arc[i][j];}}int main(){int a[10]={0,1,2,3,4,5,6,7,8,9};Mgraph<int>Mgraph(a,10,15);Floyd(Mgraph,0);return 0;}
0 0
- 0号题
- 课程设计,0号题
- 3号题
- 课程设计3号题
- 《数据结构课程设计》3号题
- 数据结构课程设计(c++) 3号题
- 数据结构程序设计(2号题)
- 数据结构(C++)课程设计 3号题
- C++数据结构课程设计报告(1号题)【物联网1132-11】
- hdu5521Meeting/2015acmicpc沈阳3号题(图论最短路)
- hdu5584逆推/acmicpc2015上海现场赛3号题
- HDU5119Happy Matt Friends/2014ACM/ICPC亚洲区北京站regional3号题
- $0
- %~0
- #0
- '\0'
- #0
- ${0##*/} ${0#*/} ${0%/*} ${0%%/*}
- android不通过自定义layout,修改通知logo
- shell 调试技术
- Matlab图像处理学习笔记(五):Harris角点检测
- 泛型类总结
- droidDraw错误解决方法
- 0号题
- unity3d射线的原理用法以及一个利用射线实现简单拾取的小例子
- 云服务的三个层次
- Java计算时间差(两个时间相减)
- mongodb入门教程
- 3D语音天气球——在Unity中使用Android语音服务
- 30本程序员必读经典
- 题目60 谁获得了最高奖学金
- 自定义组件<二> : TypeArray的用法与介绍