鄰接多重表是面向無向圖的另一種鏈式儲存結構,從邊出發構建整個圖,方便訪問標記,刪除邊等操作,儲存空間最少。易判斷頂點之間的關係。//(由於不知道頂點是在左邊ilink還是右邊jlink,所以需要進行一次查詢)
while
(curedge-
>j == ai && curedge-
>jlink !=
null)if
(curedge-
>i == ai)
curedge-
>ilink = en;
else
curedge-
>jlink = en;
}//構建頂點b的同頂點邊關係
if(g.vexs[bi]
.firstedge ==
null
)else
while
(curedge-
>j == bi && curedge-
>jlink !=
null)if
(curedge-
>i == bi)
curedge-
>ilink = en;
else
curedge-
>jlink = en;}}
void
createamlgraph()
cout <<
"輸入對應的邊:"
<< endl;
for(
int i =
0; i < g.edgenum; i++)}
void
printamlgraph()
cout << endl;}}
intmain()
C 實現鄰接表
對於無向圖 v0,v1 v1,v2 v2,v3 v0,v2 對應的鄰接表表示就是 在 中,你要單獨對v1 v2 v3建立一種結構體型別。在對後面的節點0,1,2,3建立一種結構體型別 1 include 2 include3 define vertex 4 4using namespace std ...
資料結構 鄰接多重表
上一節總結了有向圖的另外一種鏈式儲存結構 十字鍊錶,該節繼續總結無向圖的另一種鏈式儲存結構。鄰接表雖然已經能夠很好地表示無向圖了,但是無向圖訪問或者刪除一條邊 vi,vj 時需要同時訪問兩個鍊錶i和j並分別找到對應的邊結點,這給針對圖的邊的操作 標記或刪除 帶來不便利。鄰接多重表因此而演變過來的。鄰...
鄰接表實現
鄰接表構建 鄰接表某個頂點遍歷 以上 include include include include using namespace std class adjacencytable void setedge int s,int e,int weight void getvertexinfo int...