C++迪杰斯特拉算法

C++迪杰斯特拉算法,第1张

C++迪杰斯特拉算法










做一道题:

//Author:PanDaoxi
#include 
using namespace std;
int e[101][101];
int book[101]; //标记数组
int dis[101]; //储存出发点到终点的 结果
int n,m,s;
int p,q,t;
int inf=10001;
int min_=0; 
int main(){
	cin>>n>>m>>s;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(i==j) e[i][j]=0;
			else e[i][j]=inf;
		}
	}
	for(int i=1;i<=m;i++){
		cin>>p>>q>>t;
		e[p][q]=t;
	}
	//迪杰斯特拉算法
	book[s]=1; //起点使用
	//初始化最优解数组 
	for(int i=1;i<=n;i++){
		dis[i]=e[s][i];
	} 
	int u; //找到最短线
	for(int i=1;idis[u]+e[u][v]){
					dis[v]=dis[u]+e[u][v];
				}
			}
		}
	}
	for(int i=1;i<=n;i++){
		cout< 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5691785.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存