数据结构课程设计校园导游
数据结构课程设计校园导游
1 / 131
数据结构课程设计校园导游
用无向网表示你所在学校的校园景点平面图 ,图中极点表示主要景点 ,寄存景点的编号、名
称、简介等信息,图中的边表示景点间的道路,寄存路径长度等信息。要求能够回答有关
景点介绍、旅行路径等问题。
基本要求:
1、查问各景点的有关信息。
2、查问图中随意两个景点间的最短路径。
3、查问图中随意两个景点间的全部路径。
4、增添、删除、更新有关景点和道路的信息。
/*校园导游程序 *//*[问题描绘]
用无向网表示学校的校园景点平面图,图中极点表示主要景点,
寄存景点的编号、名称、简介等信息,图中的边表示景点间的道路,寄存路径长度等信息。要求能够回答有关景点介绍、旅行路径等问题。旅客经过终端可咨询:
1)从某一景点到另一景点的最短路径。
2)旅客从公园进入,选用一条最正确路线。
3)使旅客能够不重复地阅读各景点,最后回到出口(出口就在进口旁边)。
[基本要求]
1)将导游图看作一张带权无向图,极点表示公园的各个景点,边表示各景点之间的道路,
边上的权值表示距离.为此图选择适合的数据结构。
2)把各样路径都显示给旅客,由旅客自己选择阅读路线。
3)画出景点散布图于屏幕上。
[实现提示]
(1)结构一个无向图 G并用毗邻矩阵来储存。
(2)利用迪杰斯特拉算法来计算出起点到各个极点之间的最短路径用二维数组 p[i][]来记
录,
最短路径长度就用一维数组 d[i]寄存;i的范围:0~20。
3)一维数组have[]是用来记录最短路径出现极点的次序。
4)依据起点和终点输出最短路径和路径长度。
*/
#defineINFINITY 10000 /* 无量大*/
#defineMAX_VERTEX_NUM 40
#defineMAX40
数据结构课程设计校园导游
数据结构课程设计校园导游
2 / 132
数据结构课程设计校园导游
#include<>
#include<>
#include<>
#include<>
typedefstructArCell
{
intadj。 //路径长度
}ArCell,AdjMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM] 。
1/9
数据结构课程设计校园导游
数据结构课程设计校园导游
13 / 1313
数据结构课程设计校园导游
typedefstruct // 图中极点表示主要景点,寄存景点的编号、名称、简介等信息,
{
charname[30] 。
intnum。
charintroduction[100] 。//简介
}infotype。
typedefstruct
{
infotypevexs[MAX_VERTEX_NUM] 。
AdjMatrixarcs 。
intvexnum,arcnum 。
}MGraph。
MGraphb。
voidcmd(void)
。
MGraphInitGraph(void)
。
voidMenu(void)
。
voidBrowser(MGraph*G)
。
voidShortestPath_DIJ(MGraph*G)
。
voidFloyd(MGraph*G)
。
voidSearch(MGraph*G)
。
intLocateVex(MGraph*G,char*v)
。
MGraph*CreatUDN(MGraph*G)
。
voidprint(MGraph*G)。
/******************************************************/
voidmain(void)
{
system("color1f") 。
system("modecon:cols=140lines=130") 。
cmd()。
}
/******************************************************/
数据结构课程设计校园导游
数据结构课程设计校园导游
4 / 134
数据结构课程设计校园导游
voidcmd(void)
{
inti。
b=InitGraph()。
Menu()。
scanf("%d",&i) 。
while(i!=5)
{
switch(i)
数据结构课程设计校园导游
数据结构课程设计校园导游
5 / 135
数据结构课程设计校园导游
2/9
数据结构课程设计校园导游
数据结构课程设计校园导游
13 / 131
数据结构课程设计校园导游 来自淘豆网m.daumloan.com转载请标明出处.