-
大小: 10KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-05
- 標(biāo)簽: 校園導(dǎo)游??鐵道??數(shù)據(jù)結(jié)構(gòu)??作業(yè)??遍歷??
資源簡介
[問題描述]
分別用鄰接矩陣和鄰接表實(shí)現(xiàn)以下操作:圖的創(chuàng)建、遍歷、插入、刪除、最短路徑。 參考題目為校園導(dǎo)游程序
[基本要求]
熟悉圖的常用存儲(chǔ)結(jié)構(gòu)和基本操作。
[實(shí)現(xiàn)提示]
設(shè)圖的結(jié)點(diǎn)不超過30個(gè),每個(gè)結(jié)點(diǎn)用一個(gè)編號(hào)表示(如果一個(gè)圖有n個(gè)結(jié)點(diǎn),則它們的編號(hào)分別為1,2,…,n)。通過輸入圖的全部邊輸入一個(gè)圖,每個(gè)邊為一個(gè)數(shù)對(duì),可以對(duì)邊的輸入順序作出某種限制。注意,生成樹的邊是有向邊,端點(diǎn)順序不能顛倒
代碼片段和文件信息
#include
using?namespace?std;
/**********圖的鄰接矩陣存儲(chǔ)形式***********/?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
#define?MaxInt?32767?????????????//表示極大值
#define?MVNum?30????????????????//最大頂點(diǎn)數(shù)
typedef?char?VerTexType;?????????//假設(shè)頂點(diǎn)的數(shù)據(jù)類型為字符型
typedef?int?ArcType;?????????????//假設(shè)邊的權(quán)值類型為整型???
typedef?struct
{
VerTexType?vexs[MVNum];???????//頂點(diǎn)表
ArcType?arcs[MVNum][MVNum];???//鄰接矩陣
int?vexnumarcnum;????????????//圖的當(dāng)前點(diǎn)數(shù)和邊數(shù)
}AMGraph;
int?LocateVex(AMGraph?Gchar?v)
{
int?i;
for(i=0;i if(G.vexs[i]==v)
return?i;
return?-1;
}
void?CreateUDN(AMGraph?&G)
{//采用鄰接矩陣表示法,創(chuàng)建無向網(wǎng)G
cout<<“請(qǐng)輸入頂點(diǎn)數(shù)(1-30)“< cin>>G.vexnum;
cout<<“請(qǐng)輸入總邊數(shù)“< c
- 上一篇:利用opencv批量更改圖片尺寸
- 下一篇:MFC如何畫餅圖
評(píng)論
共有 條評(píng)論