資料結構課程設計(四) 校園導遊程式

2021-10-12 16:41:46 字數 3088 閱讀 7983

問題描述:用無向網表示你所在學校的校園景點平面圖,圖中頂點表示主要景點,存放景點的編號、名稱、簡介等資訊,圖中的邊表示景點間的道路,存放路徑長度等資訊。要求能夠回答有關景點介紹、遊覽路徑等問題。

基本要求:查詢各景點的相關資訊;查詢圖中任意兩個景點間的最短路徑;查詢圖中任意兩個景點間的所有路徑;增加、刪除、更新有關景點和道路的資訊。

操作:給景點之間的路徑賦最大值;最短路徑的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,祝賀他畢業了。並準備到銀行參...