亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? shortestpath_dij.cpp

?? 清華大學嚴蔚敏編著《數據結構(c語言版)》源程序
?? CPP
字號:
//ShortestPath_DIJ.cpp

# include <iostream.h>
# include <stdio.h>
# include <malloc.h>
# include <conio.h>
# define INFINITY 1000
# define MAX_VERTEX_NUM 20
# define OK 1
# define ERROR 0 
# define FALSE 0
# define TRUE 1
typedef enum{DG,DN,UDG,UDN} GraphKind;
typedef int EType;
typedef int InfoType;
typedef int VertexType;
typedef int PathMatrix;
typedef int ShortPathTable; 

typedef struct ArcCell
{  EType adj;
   InfoType info;
}ArcCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

typedef struct
{  VertexType vexs[MAX_VERTEX_NUM];
   AdjMatrix  arcs;
   int vexnum,arcnum;
   GraphKind kind;
}MGraph;

int CreatUDN(MGraph &G)                                 //CreatUDN() function
{  int i=0,j=0,k,vi,vj,w;
   cout<<"Please input the number of G.vexnum (eg,G.vexnum=6) : ";
   cin>>G.vexnum;
   cout<<"Please input the number of G.arcnum (eg,G.arcnum=8) : ";
   cin>>G.arcnum;
   for(i=0;i<G.vexnum;++i)
     for(j=0;j<G.vexnum;++j)
     {  G.arcs[i][j].info=INFINITY;        
	 }
   cout<<"Plese input arc(Vi-->Vj):"<<endl
	   <<"For example:"<<endl<<"------------"<<endl
	   <<"(Vi=1,Vj=6,Weight=100),(Vi=1,Vj=5,Weight=30),(Vi=1,Vj=3,Weight=10)"<<endl
	   <<"(Vi=2,Vj=3,Weight=5),(Vi=3,Vj=4,Weight=50),(Vi=4,Vj=6,Weight=10)"<<endl
	   <<"(Vi=5,Vj=6,Weight=60),(Vi=5,Vj=4,Weight=20)..."<<endl;
   for(k=0;k<G.arcnum;++k)
   {   cout<<endl<<"Please input the "<<k+1<<"th arc's vi (0<vi<"<<G.vexnum+1<<"): ";
       cin>>vi;
       cout<<"Please input the "<<k+1<<"th arc's vj (0<vj<"<<G.vexnum+1<<"): ";
       cin>>vj;
       cout<<"Please input the "<<k+1<<"th arc's weight (0<weight<"<<INFINITY<<"): ";
       cin>>w;
       i=vi;
       j=vj;
       while(i<1||i>G.vexnum||j<1||j>G.vexnum||w<0||w>=INFINITY)
       {   
	   cout<<"Input ERROR!"<<endl
		   <<"Please input the "<<k+1<<"th arc's vi (0<vi<"<<G.vexnum+1<<"): ";
	   cin>>vi;
	   cout<<"Please input the "<<k+1<<"th arc's vj (0<vj<"<<G.vexnum+1<<"): ";
	   cin>>vj;
	   cout<<"Please input the "<<k+1<<"th arc's weight (0<weight<1000): ";
	   cin>>w;
	   i=vi;
	   j=vj;
       }//end of while
   i--;
   j--;         
   G.arcs[i][j].info=w;
   }//end of for(k=0;k<G.arcnum...)
   return (OK);
}//end CreatVDN() function

void ShortestPath_DIJ(MGraph G,int v0,PathMatrix Path[MAX_VERTEX_NUM][MAX_VERTEX_NUM],ShortPathTable Dist[MAX_VERTEX_NUM])
{   
	int i,j,v,w,min,final[MAX_VERTEX_NUM]; 
    for(v=0;v<G.vexnum;++v)
	{  final[v]=FALSE;
       Dist[v]=G.arcs[v0][v].info;
	   for(w=0;w<G.vexnum;++w)
		   Path[v][w]=FALSE;
	   if(Dist[v]<INFINITY)
	   {  Path[v][v0]=TRUE;
	      Path[v][v]=TRUE;
	   }  //end of if
	 }//end of for(v=0;v<G.vexnum...)
	Dist[v0]=0;
	final[v0]=TRUE;
    printf("Vertice");

	for(i=0;i<G.vexnum;i++)
		 printf("%5d",i+1);         
	printf("\n");
	printf("Step %d :",v0+1);      
	for(i=0;i<G.vexnum;i++)
		printf("%5d",Dist[i]);  
	printf("\n");

    for(i=1;i<G.vexnum;++i)         //Do the rest of G.vexnum-1 node 
	{   min=INFINITY;
		for(w=0;w<G.vexnum;++w)
	   	  if(!final[w])
			if(Dist[w]<min)
			{ v=w;
			  min=Dist[w];
			}//end of if
		   final[v]=TRUE;
		   printf("Step %d :",i+1);
		   for(w=0;w<G.vexnum;++w)
		   {if(!final[w]&&(min+G.arcs[v][w].info<Dist[w]))
				{  Dist[w]=min+G.arcs[v][w].info;
				   for(j=0;j<G.vexnum;j++)
				       Path[w][j]=Path[v][j];
				   Path[w][w]=TRUE;
				}//end of if				
				printf("%5d",Dist[w]);
		   }//end of for(w=0;w<G.vexnum;++w)          
		   printf("\n");	   
	}//end of for(i=1;,,,)
}//ShortPath_DIJ();

void main()                                                   //main() function
{   MGraph G;
    int v0=0;                                                 //modify
	int i,j;
	PathMatrix Path[MAX_VERTEX_NUM][MAX_VERTEX_NUM];
	ShortPathTable Dist[MAX_VERTEX_NUM];
	cout<<"ShortestPath_DIJ.cpp"<<endl<<"===================="<<endl<<endl;
    if(CreatUDN(G))
	cout<<endl<<"Create MGraph success !"<<endl<<"InitMGraph are Show:"<<endl<<"--------------------"<<endl;
    
    printf("Vertice");
	for(i=0;i<G.vexnum;i++)    
		 printf("%5d",i+1);       
	printf("\n");   
	for(i=0;i<G.vexnum;i++)
	{   printf("%5d   ",i+1); 
		for(j=0;j<G.vexnum;j++)   
              printf("%5d",G.arcs[i][j].info);  
	    printf("\n");
	}//end of for(i=0;i<G.vexnum;i++)

    cout<<endl<<"By Dijkstra Algorithm:"<<endl<<"----------------------"<<endl;
	ShortestPath_DIJ(G,v0,Path,Dist);
    cout<<endl<<"...OK!..."<<endl;	
    getch();
}//end of main() function

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品tushy高清| 一区二区三区在线视频观看| 亚洲国产精品ⅴa在线观看| 亚洲国产aⅴ成人精品无吗| 激情综合色丁香一区二区| 色老汉一区二区三区| 精品久久久久久久久久久久久久久久久 | 激情图片小说一区| 欧美三日本三级三级在线播放| 欧美激情在线看| 蜜桃91丨九色丨蝌蚪91桃色| 欧美吻胸吃奶大尺度电影| 欧美经典一区二区三区| 久久精品二区亚洲w码| 色8久久人人97超碰香蕉987| 国产精品国产精品国产专区不片| 狠狠色综合色综合网络| 欧美一级夜夜爽| 舔着乳尖日韩一区| 一本大道久久a久久综合| 欧美激情综合在线| 国产精品一区二区久久不卡| 精品免费国产二区三区 | 国产精品久久久久精k8| 国产精品资源网站| 欧美精品一区二区三区四区 | 亚洲精品亚洲人成人网| 99久久精品免费精品国产| 欧美国产欧美综合| 风流少妇一区二区| 国产亚洲综合性久久久影院| 久久99日本精品| 精品1区2区在线观看| 国内不卡的二区三区中文字幕| 日韩欧美久久久| 美洲天堂一区二卡三卡四卡视频| 宅男在线国产精品| 日韩精品电影在线| 日韩午夜在线影院| 久久精品噜噜噜成人88aⅴ| 欧美成人官网二区| 国产精品影视在线| 国产精品久久久爽爽爽麻豆色哟哟| 国产成都精品91一区二区三| 国产精品久久久99| 在线一区二区三区做爰视频网站| 亚洲国产精品精华液网站| 91麻豆精品国产自产在线观看一区 | 久久久久久久一区| 国产成人精品1024| 亚洲欧美在线高清| 欧美日韩aaaaaa| 老司机一区二区| 中文字幕av一区二区三区高| 91视频你懂的| 日韩精品电影一区亚洲| 精品美女在线播放| 99精品久久只有精品| 亚洲在线免费播放| 日韩精品专区在线| 波多野结衣中文字幕一区二区三区| 尤物视频一区二区| 日韩精品一区二区三区在线| 不卡的av电影在线观看| 亚洲成a人v欧美综合天堂下载| 精品国产91洋老外米糕| 91蝌蚪国产九色| 久久国产精品无码网站| 中文字幕亚洲成人| 日韩久久精品一区| 91网上在线视频| 精品一区二区三区免费视频| 亚洲视频在线观看一区| 日韩一二三区视频| 一本一道久久a久久精品综合蜜臀| 污片在线观看一区二区| 国产精品女人毛片| 欧美一区二区三区在线视频| 99久久精品免费| 精品亚洲成a人| 午夜亚洲国产au精品一区二区| 久久精品亚洲精品国产欧美kt∨| 欧美日精品一区视频| www.亚洲在线| 国产一区二区三区香蕉| 午夜影院久久久| 成人免费在线播放视频| 精品免费视频.| 欧美日韩小视频| 99re这里都是精品| 国产专区欧美精品| 亚洲一区二区欧美日韩| 国产精品高清亚洲| 国产日韩欧美亚洲| 日韩精品一区二区三区视频 | 国产精品91xxx| 石原莉奈在线亚洲三区| 一区二区久久久久| 国产精品视频免费| 国产亚洲欧美在线| 精品日本一线二线三线不卡| 欧美日韩高清在线| 欧美亚洲综合一区| 色哟哟国产精品| av在线综合网| youjizz国产精品| 成人h动漫精品一区二区| 国产乱码精品1区2区3区| 久久99久国产精品黄毛片色诱| 日本在线不卡一区| 日韩av在线免费观看不卡| 午夜电影久久久| 天天av天天翘天天综合网| 夜夜揉揉日日人人青青一国产精品| 精品剧情v国产在线观看在线| 欧美日韩久久不卡| 91麻豆精品久久久久蜜臀| 欧美在线一区二区三区| 91老司机福利 在线| 色女孩综合影院| 日本电影欧美片| 欧美在线观看你懂的| 欧美日韩精品一区二区三区四区 | 91福利精品第一导航| 粉嫩在线一区二区三区视频| 国产成人丝袜美腿| 国产高清精品网站| 高清不卡一区二区| 99国产精品一区| 成人免费观看男女羞羞视频| 91免费视频大全| 国产不卡视频一区| 国产91精品露脸国语对白| av亚洲精华国产精华精华| 一本色道久久加勒比精品| 欧美日韩在线免费视频| 日韩一区二区三区av| 久久久久久毛片| 亚洲黄色性网站| 蜜臀久久99精品久久久久久9| 国内一区二区在线| 99久久国产综合精品女不卡| 欧美日韩成人综合| 久久看人人爽人人| 亚洲精品高清视频在线观看| 日韩影视精彩在线| 国产成人在线电影| 欧美日韩中文字幕一区二区| 精品久久久久一区| 亚洲男同性视频| 久久精品国产**网站演员| 成人黄页毛片网站| 欧美夫妻性生活| 国产精品色在线| 日产国产欧美视频一区精品| 成人丝袜视频网| 欧美福利电影网| 国产精品久久久99| 美女一区二区视频| 色综合久久久久网| 欧美精品一区二区三区很污很色的| 亚洲人成亚洲人成在线观看图片| 免费观看在线色综合| 99久久精品免费看国产| 亚洲精品一区二区三区影院| 亚洲曰韩产成在线| 国产99精品国产| 欧美一区二区三区日韩视频| 亚洲青青青在线视频| 国产在线国偷精品免费看| 欧美日韩高清一区二区不卡 | 777久久久精品| 国产精品久久久久永久免费观看 | 亚洲另类中文字| 国产美女在线精品| 91精品国产综合久久久蜜臀粉嫩| 国产精品福利一区| 韩国精品主播一区二区在线观看 | 亚洲一区二区三区中文字幕在线| 国产乱子轮精品视频| 欧美一区二区啪啪| 亚洲一级在线观看| 色偷偷久久一区二区三区| 国产日韩三级在线| 国产在线国偷精品免费看| 日韩精品中午字幕| 日韩高清一级片| 欧美日韩一区三区四区| 一区二区欧美视频| 一本到高清视频免费精品| 国产精品第四页| 成人黄色a**站在线观看| 国产日韩欧美综合一区| 国产suv精品一区二区三区| 精品国产露脸精彩对白| 精品夜夜嗨av一区二区三区| 精品国一区二区三区| 久久99国产精品久久99果冻传媒| 91精品国产综合久久蜜臀| 免费高清不卡av|