代码说明

模板较为简单,

1.节点数目限制在500个以内,

2.解决的是选择某一节点到其他节点的最短路径(最后打印出来的也是这个结果)

3.考虑节点与节点之间只有一条边

4.考虑到最新的C++特性,使用scanf_s,可以自行修改为scanf,效果一致

5.原理与细节,代码注释详细

#include<iostream>
#include<cstdio>
using namespace std;
//记录点对点节点间的最短路径
//全局变量默认初始化
int e[500][500], dis[500];
bool visited[500];
const int inf = 99999999;
int main() {int n, m, c1;//n是节点数目,m是边数目//c1,c2是起始节点与终止节点scanf_s("%d%d%d", &n, &m, &c1);//for (int i = 0; i < n; i++) {// scanf_s("%d", &weight[i]);//}//初始化数组的fill方法fill(e[0], e[0] + 500 * 500, inf);//初始化所有的边都不存在,即无穷大;fill(dis, dis + 500, inf);int a, b, c;for (int i = 0; i < m; i++) {scanf_s("%d%d%d", &a, &b, &c);e[a][b] = e[b][a] = c;}dis[c1] = 0;for (int i = 0; i < n; i++) {int u = -1, minn = inf;for (int j = 1; j <=n; j++) {//细节,选择当前dis距离最近的节点if (visited[j] == false&&dis[j]<minn) {minn = dis[j];u = j;}}if (u == -1)break;visited[u] = true;for (int v = 1; v <=n; v++) {if (visited[v] == false && e[u][v] != inf) {if ( dis[u] + e[u][v] < dis[v]) {dis[v] = dis[u] + e[u][v];}}}}//printf("%d 与 %d距离为 %d", c1,c2,dis[c2]);for (int i = 1; i <= n; i++) {printf("%d ", dis[i]);}}

dijkstra_模板相关推荐

  1. VS Code 安装插件、自定义模板、自定义配置参数、自定义主题、配置参数说明、常用的扩展插件

    1. 下载和官网教程 下载地址:https://code.visualstudio.com/ 官方教程:https://code.visualstudio.com/docs 2. 安装插件 安装扩展插 ...

  2. SpringBoot (三) :SpringBoot使用Freemarker模板引擎渲染web视图

    什么是Freemarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而 ...

  3. SpringBoot-web开发(三): 模板引擎Thymeleaf

    [SpringBoot-web系列]前文: SpringBoot-web开发(一): 静态资源的导入(源码分析) SpringBoot-web开发(二): 页面和图标定制(源码分析) 目录 1. 引入 ...

  4. 二分查找模板全面总结

    二分查找 二分法的引入 情形1 1.X的平方根 2.搜索旋转排序数组 情形2 1.第一个错误的版本 2.寻找峰值 3.寻找旋转排序数组中的最小值 情形3 在排序数组中查找第一个和最后一个位置 当遇到查 ...

  5. Django 模板HTML转义和CSRF4.3

    Django对字符串进行自动HTML转义,如在模板中输出如下值: 视图代码: def index(request):return render(request, 'temtest/index2.htm ...

  6. Django 模板继承4.2

    模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部.尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板中填 ...

  7. Django 模板4.1

    模板介绍 作为Web框架,Django提供了模板,可以很便利的动态生成HTML 模版系统致力于表达外观,而不是程序逻辑 模板的设计实现了业务逻辑(view)与显示内容(template)的分离,一个视 ...

  8. Django 视图和模板1.4

    视图 在django中,视图对WEB请求进行回应 视图接收reqeust对象作为第一个参数,包含了请求的信息 视图就是一个Python函数,被定义在views.py中 #coding:utf-8 fr ...

  9. [JAVA EE] Thymeleaf 高级用法:模板布局,带参数的引用片段,表单验证,常用校验注解

    模板布局 公共部分通常定义为模板布局:如页眉,页脚,公共导航栏.菜单等. 模板布局定义方法 布局页中用 th:fragment 定义模板片段,其他页面用 th:insert 引用片段 例如:foote ...

最新文章

  1. 再学 GDI+[56]: 路径 - Warp
  2. 数据库管理专才四步走
  3. 你真的了解Scrum吗?
  4. Fork / Join框架vs并行流vs.ExecutorService:最终的Fork / Join基准
  5. 丢失模式不联网有用吗_用眼过度,打开手机“护眼模式”真的有用吗?
  6. 【CSDN】-京东云部署java项目及性能测试
  7. 电路维修(信息学奥赛一本通-T1448)
  8. JavaScript常用数组操作
  9. opengl显示汉字
  10. 无线网卡802.11n、 Intel 5100 AGN
  11. Flutter实战1 --- 写一个天气查询的APP
  12. IDCC2018|北京福通四维科技有限公司副总经理胡海山:顺鑫集团智慧农业领域深耕的数据化转型之路...
  13. ARM指令集之乘法指令
  14. 您的计算机无法访问dota2服务器,提示“已连接至DOTA2游戏协调服务器,正在登陆中”该如何解决?...
  15. 基础回顾:10W+ 字 C 语言入门教程(上)
  16. 设计模式的艺术 结构性模式之组合模式
  17. 禁止spotlight索引外置硬盘或者网络硬盘
  18. 从百度“童年英雄的AI幻想”互动展说起,看AI如何赋能艺术?
  19. 移动IM产品发展史及趋势预测
  20. 【面经问题总结】小米日常实习 一面

热门文章

  1. 计算机更新电源,升级了显卡千万别忘记也要把电源升级
  2. 生物质锅炉烟气SCR脱硝改造
  3. 2022 CCF BDCI 返乡发展人群预测 微弱提升(特征离散化)
  4. 糖果Y8 Max手机刷机原厂线刷包msm8917附教程
  5. 为什么制造机器人这么难
  6. 说说团队建设与管理的那些事儿
  7. 基于微服务架构的分布式系统:如何设计和实现高效的微服务系统
  8. 大家一起来跳青蛙--智力考验
  9. 电子计算机没电了还可以用吗,电子工程师:手机没电也能用
  10. Google Voice 如何永久续期