問題描述:用無向網表示你所在學校的校園景點平面圖,圖中頂點表示主要景點,存放景點的編號、名稱、簡介等資訊,圖中的邊表示景點間的道路,存放路徑長度等資訊。要求能夠回答有關景點介紹、遊覽路徑等問題。
基本要求:查詢各景點的相關資訊;查詢圖中任意兩個景點間的最短路徑;查詢圖中任意兩個景點間的所有路徑;增加、刪除、更新有關景點和道路的資訊。
操作:給景點之間的路徑賦最大值;最短路徑的c語言函式;輸出最短路徑和最短距離函式;輸入景點**查景點名稱和簡介;輸入景點**查到其它景點的最短距離。
#include
using
namespace std;
#define maxint 32767
#define mvnum 100
typedef
struct message
ciceroni;
typedef ciceroni vertextype;
typedef
int arctype;
typedef
struct
amgraph;
ciceroni school[20]
=,,,
,,,,
,,};
void
creatmap
(amgraph &g)
void
printmap()
void
printplace
(amgraph g,
int num)
void
seeplace
(amgraph g)
void
dfs_am
(amgraph g,
int v,
int visited)
void
menu()
intchecknum
(int num,amgraph g)
void
change
(amgraph &g,
int v,
int n,
int visited)
visited[v]=1
;for
(int w=
0; w((g.arcs[v]
[w]!=0)
&&(!visited[w]))
change
(g,w,n,visited);}
void
newplace
(amgraph &g)
cout<<
"輸入新景點名稱:"
; cin>>school[g.vexnum]
.name;
cout<<
"輸入新景點簡介:"
; cin>>school[g.vexnum]
.pro;
g.vexs[g.vexnum]
=school[g.vexnum]
;//cout(int i=
0; i<=g.vexnum; i++
) g.arcs[i]
[g.vexnum]
=maxint;
cout<<
"輸入新景點相關路線資訊(應包含兩端點以及路線長度,輸入0 0結束):\n"
; cin>>new_num>>num;
while
(new_num!=0)
cout<<
"景點【"
<.name<<
"】建立成功"
;for
(i=0
; i<=g.vexnum; i++
)for
(j=0
; j<=g.vexnum; j++
) g.arcs[j]
[i]=g.arcs[i]
[j];
g.vexnum++
; g.arcnum=g.arcnum+n;
}void
shortestpath_floyd
(amgraph g)
//佛洛伊德演算法求vi,vj之間最短距離
for(k=
0; k)for
(i=0
; i)for
(j=0
; j(d[i]
[k]+d[k]
[j][j])
//從i到k,再到j路徑更短
for(i=
0; i)for
(j=0
; j(i==j)
d[i]
[j]=d[j]
[i]=0;
cout<<
"請輸入起點:"
; cin>>v0;
cout<<
"請輸入終點:"
; cin>>v1;
v0--
; v1--
;//下標從0開始
int t=v1;
//v1接下來會改變,寄存給t
i=0;
cout<<
"【"<.name<<
"】到【"
<.name<<
"】的最短距離為 "
<[v1]
<<
" m\n"
; cout<<
"\n其最短路線為 :【"
<.name<<
"】<->"
;while
(path[v0]
[v1]
!=v0)
i--;for
(i; i>=
0; i--
) cout<<
"【"<].name<<
"】<->"
; cout<<
"【"<.name<<
"】"<}void
deleteroad
(amgraph &g)
void
order
(amgraph g);;
menu()
; cin>>x;
switch
(x)}
}int
main()
//小綿楊yeanling
資料結構課程設計
資料結構課程設計 include define n 30 include include includeusing namespace std struct node typedef node phone,mingzi node hashnumble node hashname int hash1 ...
資料結構課程設計
小明是乙個計算機專業top student 祝賀他畢業了。並準備到銀行參加工作。上班第一天,經理叫他編制乙個實現乙個活期儲蓄處理程式,算作考查。上班第一天,一定要給領導乙個好印象,小明二話沒說,就答應了。現要你是小明了,請完成如下題目功能。儲戶開戶 銷戶 存入 支出活動頻繁,系統設計要求 1 能比較...
資料結構課程設計
一 實訓目的 通過課程設計,學會運用資料結構知識,針對具體應用,自己設計合理資料結構,確定儲存結構,並能設計具體操作演算法,選擇使用具體語言進行實現。掌握c 較複雜程式的組織和設計過程,除錯技巧。學習解決實際問題的能力。題目1.小明是乙個計算機專業top student,祝賀他畢業了。並準備到銀行參...