資料結構課設 校園導航

2021-10-05 10:55:53 字數 4133 閱讀 2677

為了防止以後可能需要又找不到

還是上傳一下吧

內容注釋寫的比較清楚了

#include

#include

#include

#include

#define max_vex 100

#define inf 100000

#define error -1

#define ok 1

#define true 1

#define flase 0

using namespace std;

typedef

int status;

typedef

struct

mgraph ;

//圖的結構定義

intlocate

(mgraph g,

char c)

;//定位點

mgraph create()

;//建立無向圖

void

print

(mgraph g)

;//列印鄰接矩陣

void

browse

(mgraph g)

;//列印全部景點資訊

void

shortestd

(mgraph g)

;//檢視瀏覽路線

void

shortestf

(mgraph g)

;//檢視瀏覽路線

void

seeabout

(mgraph g)

;//景點資訊查詢

void

change

(mgraph &g)

;//更改圖的資訊

void

add(mgraph &g)

;//增加景點及邊

void

mi(mgraph &g)

;//減少景點及邊

void

reb(mgraph &g)

;//重建圖

void

allpath

(mgraph g)

;//查詢一條一次遍歷所有景點的可行路徑

intlocate

(mgraph g,

char c)

return-1

;}mgraph create()

;int weigh;

printf

("請輸入景點個數,邊數:");

scanf

("%d %d"

,&g.vexnum,

&g.arcnum)

;getchar()

;while

(ifor(i=

0;iprintf

("請輸入每條邊依附的景點代號和距離:\n");

//輸入各點間關係

for(i=

0;i)//測試使用初始圖

/* g.vexnum=5;

g.arcnum=7;

char str1[5][100]=;

char str2[5][100]=;

char str3[5][100]=;

for(int i;i<5;i++)

int a[5][5]=,,,,};

for(int i=0;i<5;i++)

}*/return g;

}void

browse

(mgraph g)

}void

shortestd

(mgraph g)

int final[max_vex]

=,d[max_vex]=;

int p[max_vex]

;for

(i=0

;i) d[v]=0

;//初始化

final[v]=1

;for

(i=0

;i} final[n]=1

;for

(j=0

;j}for

(i=0

; i)while

( k!= v)

;printf

("%s\n"

,g.name[k]);

}}void

shortestf

(mgraph g)

for(i=

0;ifor(i=

0;i}}

k=v1;

printf

("從%s到%s的最短距離為%d\n路徑為"

,g.name[v1]

,g.name[v2]

,d[v1]

[v2]);

printf

("路徑為:");

while

(k!=v2)

printf

("%s\n"

,g.name[v2]);

}void

seeabout

(mgraph g)

void

add(mgraph &g)

;int i=p,j,k;

char ch1[

100]

,ch2[

100]

;scanf

("%d %d"

,&n,

&m);

g.vexnum+

=n; g.arcnum+

=m;getchar()

;while

(ifor(i=

0;i)for

(i=p;i<=g.vexnum;i++)}

if(m==0)

return

;printf

("請輸入新增每條邊依附的景點代號和距離:\n");

//輸入各點間關係

for(i=q;i)print

(g);

}void

mi(mgraph &g)

;int i,j,k,v[max_vex]

;char ch1[

100]

,ch2[

100]

;scanf

("%d %d"

,&n,

&m);

getchar()

;printf

("請輸入減少的景點代號:");

for(i=

0;i)for

(t=0

;tfor(t=

0;t} g.vexnum-

=n;

g.arcnum-

=m;if

(m!=0)

}print

(g);

}void

reb(mgraph &g)

;int weigh;

printf

("請輸入景點個數,邊數:");

scanf

("%d %d"

,&g.vexnum,

&g.arcnum)

;getchar()

;while

(ifor(i=

0;iprintf

("請輸入每條邊依附的景點代號和距離:\n");

//輸入各點間關係

for(i=

0;i)print

(g);

}void

change

(mgraph &g)

}void

allpath

(mgraph g)

,a[100

],front,rear,i,j,p;

printf

("\n請輸入從哪個景點代號開始:");

scanf

("%s"

,ch1)

; front=rear=0;

i=locate

(g,ch1)

; a[rear++

]=i;

flag[i]=1

;while

(rear>front)}}

printf

("\n");

}void

print

(mgraph g)

printf

("\n");

}}intmain()

}return0;

}

資料結構課設

10 多種基本內排序方法的實現 問題描述 設計乙個合成的排序程式。可供排序的方法是 插入排序 快速排序 歸併排序 堆排序。要求程式具有 1 顯示排序結果.2 提供最好和最壞情況下對比計時的功能。3 提供在不同陣列元素的個數情況 當n分別等於100,1000,5000,20000時 下各種排序演算法的...

資料結構課設框架

標頭檔案上界 include include include include include include using namespace std define true 1 define false 0 標頭檔案下界 結構體上界 食物 typedef struct food food,ptr f...

本人的資料結構課設

include include include include using namespace std define max size 100 typedef struct customer registcust reg,l cust reg typedef struct houbu nodehob...