鄰接多重表C 實現

2021-10-01 12:59:59 字數 1356 閱讀 1377

鄰接多重表是面向無向圖的另一種鏈式儲存結構,從邊出發構建整個圖,方便訪問標記,刪除邊等操作,儲存空間最少。易判斷頂點之間的關係。

//(由於不知道頂點是在左邊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...