广度优先算法最短路径问题 Dijkstra算法

//============================================================================
// Name        : uestcOJ_shortest_length.cpp
// Author      : 
// Version     :
// Copyright   : Your copyright notice
// Description : Hello World in C++, Ansi-style
//============================================================================

#include 
using namespace std;


static const int MAX=20000;
//static const int MAXNUM=100;

//int dist[MAXNUM];
//int prev[MAXNUM];
//int A[MAXNUM][MAXNUM];//邻接矩阵


void Dijkstra(int v0,int n,int **A,int x)
{
	bool S[n+1];
	int dist[n+1];
//	int prev[n+1];
	for(int i=1;i<=n;i++)
	{
		dist[i]=*((int*)A + (n+1)*v0 + i);//A[v0][i]   *((int*)A + (n+1)*v0 + i)
		S[i]=false;
		//if(dist[i]==MAX)
			//prev[i]=-1;
		//else
			//prev[i]=v0;//前区节点
	}
	dist[v0]=0;
	S[v0]=true;
	S[0]=true;
	for(int i=2;i<=n;i++)
	{
		int min=MAX;
		int u=v0;
		for(int j=1;j<=n;j++)
		{
			if((!S[j]) && dist[j]>N>>M;
	while(N!=0 && M!=0)
	{	int W[N+1][N+1];
		for(int i=0;i<=N;i++)
			for(int j=0;j<=N;j++)
				W[i][j]=MAX;
		for(int i=0;i>a>>b>>c;
			W[a][b]=c;
			W[b][a]=c;
			//cout<>N>>M;
	}
	return 0;
}

你可能感兴趣的:(广度优先算法最短路径问题 Dijkstra算法)