資源簡介
采用回溯法解決旅行商問題,獲得最短路徑回路。
代碼片段和文件信息
#include
using?namespace?std;
#define?MAX_VNUM?20
#define?VertexType?char
#define?VRType?int
#define?MAX?999
typedef?struct?{
VertexType?vexs[MAX_VNUM]; //頂點向量
int?arcs[MAX_VNUM][MAX_VNUM]; //鄰接矩陣
int?vexnumarcnum; //圖的頂點數和弧數
}MGraph;
int?X[MAX_VNUM]={0}Y[MAX_VNUM]={0}fl=1000;//X—記錄點?Y—記錄距離
MGraph?G;
int?LocateVex(MGraph?GVertexType?v){
int?i;
for(i=0;i if(G.vexs[i]==v)
return?i;
return?-1;
}
void?CreatAG(MGraph?&G){
int?ijkw;
VertexType?v1v2;
char?ch;
cout<<“輸入頂點數和邊數:\n“;
cin>>G.vexnum>>G.arcnum;
ch=getchar();
cout<<“請輸入頂點值:“;
for(i=0;i cin>>G.vexs[i];
for(i=0;i for(j=0;j G.arcs[i][j]=MAX;
cout<<“邊的輸入(例:ab間有連線,距離為5,輸入a?b?5)“;
for(k=0;k cout<<“輸入邊:“;
cin>>v1>>v2>>w;
i=LocateVex(Gv1);
j=LocateVex(Gv2);
G.arcs[i][j]=w;
G.arcs[j][i]=w;}
}
void?print(MGraph?G){
for(int?k=0;k
- 上一篇:背包系統,讀取Json數據生成物品,物品拖拽功能
- 下一篇:arm9裸機實現流水燈
評論
共有 條評論