資源簡介
校園導航系統(tǒng).rar

代碼片段和文件信息
#define?INFINITY?10000?
#define?MAX_VERTEX_NUM?40
#define?MAX?40
#include?
#include?
#include?
#include?
typedef?struct?ArCell?
{?
int?adj;?/*路徑長度?*/
}ArCellAdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];?
typedef?struct?/*圖中頂點表示主要景點存放景點的編號、名稱、簡介等信息?*/
{?
char?name[30];?
int?num;?
char?introduction[100];/*簡介*/?
}infotype;?
typedef?struct?
{?
infotype?vexs[MAX_VERTEX_NUM];?
AdjMatrix?arcs;?
int?vexnumarcnum;?
}MGraph;?
MGraph?b;?
void?cmd(void);?
MGraph?InitGraph(void);?
void?show1();
void?list();
void?Menu(void);?
void?ShortestPath_DIJ(MGraph?*?G);?
void?Search(MGraph?*G);?
int?LocateVex(MGraph?*Gchar*?v);??
/**********主函數(shù)************************/?
int?main()?
{?
system(“color?0f“);?/*修改控制臺的顏色信息改為白字藍底的模式*/
system(“mode?con:?cols=140?lines=130“);?/*設置批處理運行時窗口大小的*/
cmd();?
return?0;?
}?
/********自定義函數(shù)***************/?
???/*?cmd函數(shù)(根據(jù)目錄選擇要進行的項目)*/
void?cmd(void)?
{?
char?k;?
b=InitGraph();?
show1();
Menu();?
while(1)?
{?
scanf(“\n%c“&k);?
switch(k)?
{?
case?‘1‘:
system(“cls“);
show1();?
Menu();
????list();
????ShortestPath_DIJ(&b);
????printf(“---------------------------------歡迎您的使用--------------------------------\n“);
????printf(“\n請您繼續(xù)選擇服務:“);
break;?
case‘2‘:
system(“cls“);
Menu();?
list();
Search(&b);
printf(“---------------------------------歡迎您的使用--------------------------------\n“);
????printf(“\n請您繼續(xù)選擇服務:“);
break;?
case?‘3‘:
?system(“cls“);
printf(“???????????????┏━━━━━━━━━━━━━━━━━━━━┓\n“);??
printf(“???????????????┃???????????????感謝使用?????????????????┃\n“);?
printf(“???????????????┃???????????南京信息工程大學?????????????┃\n“);?
printf(“???????????????┃???????????????導航系統(tǒng)?????????????????┃\n“);?
printf(“???????????????┗━━━━━━━━━━━━━━━━━━━━┛\n“);?
?exit(0);?
?default:
?printf(“輸入信息錯誤!\n請輸入1或2或3.\n“);
?break;}?}
?}?
/*?迪杰斯特拉算法來計算出起點到各個頂點之間的最短路徑v0為起點?*/
void?ShortestPath_DIJ(MGraph?*?G)?
{?
int?vwimint=0xflag=1v0v1have[100]k;?
int?final[20]?D[20]?p[23][23];?
while(flag)?
{?
???printf(“請輸入起始景點編號:\n“);?
???scanf(“%d“&v0);
???if(v0<0||v0>G->vexnum)?
?????printf(“景點編號不存在!“);
?????
???printf(“請輸入終止景點編號:\n“);?
???scanf(“%d“&v1);
???if(v1<0||v1>G->vexnum)?
?????printf(“景點編號不存在!“);
?????
???if(v0>=0&&v0vexnum&&v1>=0&&v1vexnum)
???flag=0;
}
for(v=0;vvexnum;++v)
{
final[v]=0;
D[v]=G->arcs[v0][v].adj;
for(w=0;wvexnum;++w)
p[v][w]=INFINITY;
if(D[v] {
p[v][v0]=1;
p[v][v]=1;
}
}
D[v0]=0;
final[v0]=1;
have[0]=v0;
for(i=1;ivexnum;++i)
{
min=INFINITY;
for(w=0;wvexnum;++w)
if(!final[w])
if(D[w] {
v=w;
min=D[w];
}
final[v]=1;
have[k]=v;
k++;
for(w=0;wvexnum;++w)
if(!final[w]&&((min+(G->arcs[v][w].adj)) {
D[w]=min+G->arcs[v][w].adj;
for(x=0;xvexnum;x++)
p[w][x]=p[v][x];
p[w][w]=1;
}
}
for(i=0;ivexnum;i++)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????175248??2018-06-24?11:16??校園導航.docx
?????文件???????8276??2018-01-07?00:07??1.cpp
-----------?---------??----------?-----??----
???????????????183524????????????????????2
- 上一篇:fn_check_creditCode.rar
- 下一篇:霍夫變換找圓.zip
評論
共有 條評論