最短路径实验报告(4)

发布时间:2021-06-06

#include<iostream>

#include<stack>

#include<fstream>

using namespace std;

const int MaxNum=100000;

class Graph

{

private:

int *Adj; //保存邻接矩阵的一维数组 j和k之间权值 存储在

Adj[j*Num+k]中

int Num;//当前顶点数

public:

Graph(); //构造函数

~Graph();//析沟函数

void Dijkstra(int start);//单元最短路径算法

};

Graph::Graph() //构造函数

{

ifstream input("input.txt",ios::in);

if(input==NULL)cout<<"open error!\n";

if(input!=NULL)

{

input>>Num;

Adj=new int[Num*Num];

if(Adj==NULL)exit(0);

for(int i=0;i<Num;i++)

for(int j=0;j<Num;j++)

{

input>>Adj[i*Num+j];

if(Adj[i*Num+j]==-1)

Adj[i*Num+j]=MaxNum;

}

}

}

Graph::~Graph()//析构函数

{

delete []Adj;

}

void Graph::Dijkstra(int start)//单元最短路径算法

{

int*dist=new int[Num];//记录最短权值

int*prev=new int[Num]; //记录路径

int*s=new int[Num];//s为已经确定好的顶点域

最短路径实验报告(4).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219