最短路径 迪杰斯特拉算法的简易实现 大话数据结构 P261改编

对应图
最短路径 迪杰斯特拉算法的简易实现 大话数据结构 P261改编_第1张图片

#include
#define big 65530
#define max 100
int path[max]={0};
int shortpath[max]={0}; 

typedef struct Node{
	char  dingdian[max];
	int bian[max][max]={
	{0,4,7,big,big},
	{4,0,2,big,big},
	{7,2,0,  3,  9},
	{big,big,3,0,1},
	{big,big,9,1,0}
} ;
	int numdingdian=5,numbian; 
}mgraph;
void dijiesitela(mgraph G,int V0,int p[],int d[]);
int main(){
 mgraph G;
 int index=0,next=0,x,y,temp;
// printf("G.bian==%3d\n",G.bian[0][1]);
 
 dijiesitela(G,0,path,shortpath); 
 scanf("%d%d",&x,&y);
 //节点以0为起点 ,路径着输出 
 printf("%d--->%d的最短路径是:\n ",y,x);
   printf("%3d ",y );
 index= y ;
  for(int i=0;index!=x;i++){ 
  	 index=path[index]; 
  	  printf("->%d", index );
  }
	return 0;
} 

void dijiesitela(mgraph G,int v0,int p[],int d[]){
	int v,w,k,min;
	int final[max]={0};
	
	for(int i=0;i

你可能感兴趣的:(最短路径)