安装有vc6.0的计算机写程序实现图的邻接矩阵存储

时间: 2023-07-16 11:13:22 浏览: 51
以下是C++代码实现图的邻接矩阵存储: ```cpp #include<iostream> using namespace std; const int MAXV = 100; // 最大顶点数 const int INF = 0x3f3f3f3f; // 无穷大 int graph[MAXV][MAXV]; // 邻接矩阵存储图 int V, E; // 顶点数和边数 // 初始化邻接矩阵 void init() { for(int i = 0; i < MAXV; i++) { for(int j = 0; j < MAXV; j++) { if(i == j) graph[i][j] = 0; // 自己到自己的距离为0 else graph[i][j] = INF; // 初始距离为无穷大 } } } // 添加边 void addEdge(int u, int v, int w) { graph[u][v] = w; graph[v][u] = w; // 若是无向图,还需添加反向边 } // Floyd算法求任意两点之间的最短距离 void floyd() { for(int k = 1; k <= V; k++) { for(int i = 1; i <= V; i++) { for(int j = 1; j <= V; j++) { if(graph[i][k] != INF && graph[k][j] != INF && graph[i][j] > graph[i][k] + graph[k][j]) { graph[i][j] = graph[i][k] + graph[k][j]; } } } } } int main() { cin >> V >> E; // 输入顶点数和边数 init(); // 初始化邻接矩阵 for(int i = 1; i <= E; i++) { int u, v, w; cin >> u >> v >> w; // 输入边的起点、终点和边权 addEdge(u, v, w); // 添加边 } floyd(); // 求任意两点之间的最短距离 // 输出任意两点之间的最短距离 for(int i = 1; i <= V; i++) { for(int j = 1; j <= V; j++) { if(graph[i][j] != INF) cout << graph[i][j] << " "; else cout << "INF "; } cout << endl; } return 0; } ``` 其中,`graph[i][j]` 表示顶点 `i` 到顶点 `j` 的距离,若不存在边则初始距离为无穷大。`addEdge` 函数用于添加边,`floyd` 函数用于求任意两点之间的最短距离。

相关推荐

最新推荐

recommend-type

VC6.0实现读取Excel数据的方法

主要介绍了VC6.0实现读取Excel数据的方法,非常实用的功能,需要的朋友可以参考下
recommend-type

在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口

在VC6.0中用GDI+调用png图片实现半透明渐变的特效窗口啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊
recommend-type

VC6.0应用程序美化(XP风格)—实测可以使用

手把手教会你如何将VC6.0生成的界面美化成XP风格的界面 仅需要修改工程的几个参数,这里逐步展示了所有的操作过程以及修改前后的效果对比。
recommend-type

vc6.0使用教程详解

新手、高手都适用的VC6.0使用教程。你首先要打开VC6.0界面,一般用得较多的是Win32控制台应用程序……
recommend-type

VC6.0 MFC MSComm串口控件详解

此文档详细介绍了VC6.0 MFC下MSComm串口控件的属性,对于用MFC写串口助手之类的程序有一定帮助
recommend-type

STC89C51 简单时钟

STC89C51 简单时钟,叫你从基础开始学习单片机,
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

MATLAB归一化方法大比拼:5种方法,哪种最适合你的数据?

![MATLAB归一化方法大比拼:5种方法,哪种最适合你的数据?](https://www.finebi.com/wp-content/uploads/2019/11/FineBI%E8%A1%8C%E4%B8%9A%E9%A9%BE%E9%A9%B6%E8%88%B1-1024x510.png) # 1. MATLAB归一化概述 归一化是一种数据预处理技术,用于将数据缩放到特定范围内,从而消除不同特征之间的尺度差异。在MATLAB中,有各种归一化方法可用于不同类型的数据和应用程序。 归一化的主要目的是: - 提高模型的训练效率和准确性,通过消除特征之间的尺度差异,使模型能够更有效地学习
recommend-type

failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar: invalid tar header

很抱歉听到这个问题。这个错误通常是由于Docker镜像损坏或Docker存储库中缺少所需的图层引起的。您可以尝试以下几种方法来解决这个问题: 1. 清理Docker镜像和容器:使用命令“docker system prune”清理不再使用的Docker对象。 2. 检查Docker存储库:确保您正在使用可靠的Docker存储库,并检查是否存在所有必需的图层。 3. 重新下载Docker镜像:如果您确定问题是由于损坏的Docker镜像引起的,则可以尝试重新下载Docker镜像。 4. 更新Docker版本:如果您使用的是旧版Docker,则可能会出现此问题。尝试更新到最新版本的Docke
recommend-type

Linux系统常用操作命令大全手册

附件是Linux系统常用操作命令大全手册,是 markdown格式,其中覆盖了Linux系统管理、文件操作、网络配置等多个方面,都是日常工作中非常常用的命令,欢迎大家下载学习使用!