说好的写dijkstra 算法堆优化版本的,但是因为,妹子需要,我还是先把Floyd算法写一下吧!啦啦啦!

咳咳,还是说正事吧!

------------------------------------------------说正事专用分隔符------------------------------------------

用一个关系式,表达一下Floyd算法和dijkstra算法之间的关系

是不是很好懂,其实就把dijkstra算法做了n遍,额鹅鹅鹅,也不能说n遍吧,看有多少个点,

每个点轮流做起点,就能便利出所有的最短路的值,话不多说,直接上代码好吧。

问题还是上篇博客的问题(https://www.cnblogs.com/laysfq/p/9808088.html)

#include<iostream>
#include<algorithm>
using namespace std;
const int maxint = ;
const int maxn = ;
int x, y, z;
int dis[maxn][maxn];
int n, m; void floyd() {
for (int k = ; k <= n; ++k) { //枚举中间点k
for (int i = ; i <= n; ++i) { //枚举端点i
for (int j = ; j <= n; ++j) { //枚举端点j
dis[i][j] = min(dis[i][j], dis[i][k] + dis[k][j]);
}
}
}
}
int main() {
while (cin >> n >> m&&n&&m) {
for (int i = ; i <= n; ++i) {
for (int j = ; j <= n; ++j) {
dis[i][j] = maxint;
}
}
for (int i = ; i <= n; ++i) dis[i][i] = ;
for (int i = ; i < m; ++i) {
cin >> x >> y >> z;
dis[x][y] = dis[y][x] = z;
}
floyd();
// cout << dis[1][n] << endl;
for (int i = ; i <= n; ++i) {
for (int j = ; j <= n; ++j) {
if(j!=i) cout << "起点"<<i<<"到点" <<j<< "的最短距离是" << dis[i][j] << endl;
}
cout << endl;
}
}
return ;
}

运行结果如下:

其实核心还是dijkstra算法,所以这个算法没什么好讲的了,那么就到这了哦!

赶紧教妹子写代码去,哈哈!

最新文章

  1. Angular杂谈系列1-如何在Angular2中使用jQuery及其插件
  2. MySQL Workbench建表时 PK NN UQ BIN UN ZF AI 的含义
  3. Scrollview嵌套Listview运行后最先显示出来的位置不在顶部而是中间问题
  4. Access数据库的模糊查询到底是用*还是%
  5. 【代码笔记】iOS-获得现在的时间
  6. Beanstalk消息队列的实现
  7. Coding上传项目步骤
  8. MyBatis学习系列一之环境搭建
  9. apply和call的区别在哪里
  10. POJ 1789 Truck History (最小生成树)
  11. 归约函数reduce&amp;映射数组map(笔记)
  12. hdu 1011 Starship Troopers_树状dp
  13. 拦截器的四种拦截方式以及Filter的执行顺序(17/4/8)
  14. Vue中 $ref 的用法
  15. Ubuntu16.04用源安装Nginx+PHP5.6+MySQL5.6
  16. 记一次treegrid checkbox 选择问题
  17. 本地git远程github
  18. js设计模式总结5
  19. Visual Studio2010不能安装Silverlight4_Tools,提示语言不一致
  20. PHP接入微信H5支付

热门文章

  1. C# 7.0特性
  2. ASP Action函数 如何接收client传递的数据(编辑中。。。)
  3. Android 插件化和热修复知识梳理
  4. 高可用Redis(四):列表,集合与有序集合
  5. Chrome浏览器自动填充&lt;input&gt;标签的密码
  6. JS &amp; JQuery 动态处理select option
  7. 2018年冬季寒假作业4--PTA 抓老鼠啊~亏了还是赚了?
  8. MongoD 语法
  9. golang channel string 信号乱码
  10. LCT入门总结