structvlist
{
intindex;//弧的鄰接頂點
intvalue;//權值
vlist*next;
};
structvnode//頂點
charnumber;//頂點資訊
vlist*link;
structGraph
vnodegnode[4];
intvnbers,lnbers;//定點數和弧數
圖的鄰接表表示法類似於樹的孩子連結串列表示法。對於圖G中的每個頂點vi,該方法把所有鄰接於vi的頂點vj鏈成一個帶頭結點的單鏈表,這個單鏈表就稱為頂點vi的鄰接表(AdjacencyList)。
1.鄰接表的結點結構
(1)表結點結構
┌————┬———┐
│adjvex|next│
└————┴———┘
鄰接表中每個表結點均有兩個域:
①鄰接點域adjvex
存放與vi相鄰接的頂點vj的序號j。
②鏈域next
將鄰接表的所有表結點鏈在一起。
注意:
若要表示邊上的資訊(如權值),則在表結點中還應增加一個數據域。
(2)頭結點結構
┌————┬—————┐
│vertex│firstedge│
└————┴—————┘
頂點vi鄰接表的頭結點包含兩個域:
①頂點域vertex
存放頂點vi的資訊
②指標域firstedge
vi的鄰接表的頭指標。
①為了便於隨機訪問任一頂點的鄰接表,將所有頭結點順序儲存在一個向量中就構成了圖的鄰接表表示。
②有時希望增加對圖的頂點數及邊數等屬性的描述,可將鄰接表和這些屬性放在一起來描述圖的儲存結構。
由於你說的不太清楚,你可以看看這些,對你編寫有幫助.
structvlist
{
intindex;//弧的鄰接頂點
intvalue;//權值
vlist*next;
};
structvnode//頂點
{
charnumber;//頂點資訊
vlist*link;
};
structGraph
{
vnodegnode[4];
intvnbers,lnbers;//定點數和弧數
};
圖的鄰接表表示法類似於樹的孩子連結串列表示法。對於圖G中的每個頂點vi,該方法把所有鄰接於vi的頂點vj鏈成一個帶頭結點的單鏈表,這個單鏈表就稱為頂點vi的鄰接表(AdjacencyList)。
1.鄰接表的結點結構
(1)表結點結構
┌————┬———┐
│adjvex|next│
└————┴———┘
鄰接表中每個表結點均有兩個域:
①鄰接點域adjvex
存放與vi相鄰接的頂點vj的序號j。
②鏈域next
將鄰接表的所有表結點鏈在一起。
注意:
若要表示邊上的資訊(如權值),則在表結點中還應增加一個數據域。
(2)頭結點結構
┌————┬—————┐
│vertex│firstedge│
└————┴—————┘
頂點vi鄰接表的頭結點包含兩個域:
①頂點域vertex
存放頂點vi的資訊
②指標域firstedge
vi的鄰接表的頭指標。
注意:
①為了便於隨機訪問任一頂點的鄰接表,將所有頭結點順序儲存在一個向量中就構成了圖的鄰接表表示。
②有時希望增加對圖的頂點數及邊數等屬性的描述,可將鄰接表和這些屬性放在一起來描述圖的儲存結構。
由於你說的不太清楚,你可以看看這些,對你編寫有幫助.