雙鏈表儲存結構:
要建立雙鏈表,首先要明白雙鏈表的儲存結構定義:
typedef
struct dlinklist
思想:
從乙個空表開始,讀取陣列a中的元素,生成新節點。將讀取在節點的資料域,然後將節點插入到當前鍊錶的表頭上,在頭結點後,首結點之前。 直到結束為止
思路:
1.建立乙個頭結點 l 並將前驅指標和後繼指標都置為零
2.通過for迴圈,將乙個個元素讀取,並儲存資料域中,並插入到鍊錶中。
總結:
這裡有兩個指標域,與單鏈表不同(只有乙個指標域),所以這裡要改動四處,前後各兩個(單鏈表只改動兩個)
c**實現:
void
createdlistf
(dlinklist *
& l,
int a,
int n)
l->next = s;
//這兩個為前驅指標的
s->prior = l;
}}
建立迴圈雙鏈表(頭插法)
該方法從乙個空表開始,讀取陣列a中元素,生成新節點,將讀取的資料存在該節點的資料域中,然後將該新節點插入到當前節點的表頭上,直到結束為止。雙鏈表的儲存結構 typedef strcut dlinklist思路 1.建立頭結點l,這裡是迴圈鍊錶,注意表頭和表尾是相連的 2.通過for迴圈,建立新節點。...
建立單鏈表(頭插法 尾插法)
1 頭插法建立單鏈表 生成的鍊錶中結點的順序與輸入的順序相反 頭插法建立單鏈表 status createlist l linklist l,int n return ok 2 尾插法建立單鏈表 與輸入的順序相同 尾插法建立單鏈表 status createlist tail linklist l,...
建立單鏈表 頭插法與尾插法
建立單鏈表有兩種方式 頭插法與尾插法 尾插法是在鍊錶的結尾增加新的節點 頭插法是插入頭節點後面,剩餘節點前面 步驟需要新建乙個尾節點tail,初始head tail 建立新的節點new,連線到尾節點,tail.next new 尾節點後移,tail new q 為什麼要加新的節點?a 因為head的...