C 實現鄰接表

2022-06-27 02:15:11 字數 1108 閱讀 5068

對於無向圖(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;5//

邊表結點

6 typedef struct

edgenode

7 node;

11//

頂點表結點

12 typedef struct

adjlist

13 vertexnode, adjlist[vertex];

17//

圖18 typedef struct

19 adjgraph;

24//

建立圖25

void createadjgraph(adjgraph &g)

2653}54

//求圖中頂點的出度

55void outdegree(adjgraph g,int

i)56

68 cout << "頂點"

<< i << "

的出度為:

"<< outd <

7071

void

del(adjgraph g)

7282

//if(p1->next==null) printf("*****\n");

83if(p1!=null && p1->adjvex==y)

8492

93swap(x,y);

9495 p1=g.adj[x].link;

96while(p1!=null && p1->adjvex!=y)

97100

if(p1!=null && p1->adjvex==y)

101109

}110

intmain()

111

鄰接多重表C 實現

鄰接多重表是面向無向圖的另一種鏈式儲存結構,從邊出發構建整個圖,方便訪問標記,刪除邊等操作,儲存空間最少。易判斷頂點之間的關係。由於不知道頂點是在左邊ilink還是右邊jlink,所以需要進行一次查詢 while curedge j ai curedge jlink null if curedge ...

鄰接表實現

鄰接表構建 鄰接表某個頂點遍歷 以上 include include include include using namespace std class adjacencytable void setedge int s,int e,int weight void getvertexinfo int...

鄰接表實現PRIM演算法 C

參考張憲超老師 資料結構 演算法及應用 原理 g 是乙個連通的帶權無向圖。prim演算法通過不斷地增加生成樹的頂點來得到最小生成樹。在演算法的任一時刻,一部分頂點已經新增到生成樹的頂點集合中,而其餘頂點尚未加到生成樹中。此時,prim演算法通過選擇邊,使得的權值是所有u 起點 在生成樹中,但v 終點...