问题描述
给出一张无向图,求出无向图中各点的最短路径
详细设计
#include<iostream>
#include <vector>
#include <iomanip>
const int N = 20;
const int INF = 9999999;
using namespace std;
class Graph
{
private:
// 存储距离
int matrix[N][N];
// 地点数量
int n;
// 地点名称
vector<string> names;
// 地点描述
vector<string> descriptions;
public:
// 初始化,设置所有距离为无穷大
Graph()
{
n = 0;
for(int i = 0; i < N; i ++)
for(int j = 0; j < N; j ++)
matrix[i][j] = INF;
}
// 显示地图矩阵
void display()
{
cout << "当前一共有" << n << "个地点:" << endl;
for(int i = 0; i < n; i ++)
cout << names[i] << endl;
cout << endl << "邻接矩阵存储如下:" << endl;
for(int i = 0; i < n; i ++)
{
for(int j = 0; j < n; j ++)
{
if(matrix[i][j] == INF)
cout << setw(6) << ' ';
else
cout << setw(6