資料結構單鏈表筆記 fjc整理

2021-10-04 15:53:00 字數 1911 閱讀 8480

3.2

順序儲存:頻繁訪問

1.隨機訪問:o(1)

2.插入i->o(n) n-i+1 平均 n/2;

刪除 n-i 平均 (n-1)/2

鏈式儲存:所有元素可以存放在位址不連續的地方

a1| &a2 ->a2|&a3->a3| &a4……an| null 鍊錶結束條件

&a1放在**?

設定乙個頭指標存a1的位址。

一般以頭指標名字命名單鏈表

why?called單鏈表

每乙個節點有乙個指標域

怎麼得到第i個結點的位址?

鏈式訪問訪問麻煩,只能逐個訪問,

特點:儲存單元可連續可不連續

順序訪問:只能從頭指標開始乙個乙個訪問,<-和順序儲存不同

首元結點:存a1值的節點

頭節點:指標域存放a1位址,存放特徵元素或者屬性

若有頭節點,頭指標,指標域裡存頭節點位址。

頭指標:指向鍊錶中的第乙個節點的指標

頭指標->(頭節點)->首元結點

頭節點好處?

沒頭結點要按空表和非空表分類

如何表示l是不是空表?

若無頭結點,看頭指標的值是否為空。lnull

有頭節點,看頭結點的指標域是否為空l->nextnull

typedef struct lnodelnode,*linklist// linklist為lnode型別的指標,即linklist==lnode *,但大小有區別

3.51.頭插法建立單鏈表:

linklist creat_list(linklist head)

end->next = null;

}頭插法相對簡便,但插入的資料與插入的順序相反;

尾插法操作相對複雜,但插入的資料與插入順序相同。

頭插法:頭結點之後,首元節點之前

linklist l;

l=(lnode*)malloc(sizeof(lnode));

l->next=null;

尾插法:增加乙個尾指標

l=(lnode*)malloc(sizeof(lnode));

l->next=null;

r=l;

求表長,安值查詢,按序號查詢

3.9單鏈表的刪除:如果只知道頭指標,要刪除第i個位置,時間複雜度o(n);

如果只說刪除時間複雜度為o(1);

例1:單鏈表的倒置

遍歷鍊錶,頭插法

void reversesq(linklist &h)

}例2:單鏈表的合併

3.12

雙向鍊錶的插入:

第一步:首先找到插入位置,節點 s 將插入到節點 p 之前

第二步:將節點 s 的前驅指向節點 p 的前驅,即 s->prior = p->prior;

第三步:將節點 p 的前驅的後繼指向節點 s 即 p->prior->next = s;

第四步:將節點 s 的後繼指向節點 p 即 s->next = p;

第五步:將節點 p 的前驅指向節點 s 即 p->prior = s;

1.迴圈鍊錶:最後乙個結點的指標域指向頭節點。

一般設定尾指標

這時:頭節點為:r->next;

首元節點:r->next->next;

和單鏈表的區別:

a.可以從任何乙個結點出發找到其他的結點

b.判斷鍊錶結束的條件不一樣:p->next=null(單鏈表)

if(p->next=l)判斷是否到末尾

cl->next=null;(單鏈表)

當l->next =l;是空表

2.雙向鍊錶:

可以快速找到前驅和後繼

空表:l->next=l-prior=l;

順序表插入時移動n-i+1個,刪除時移動n-i個

線性表的順序儲存結構是:隨機儲存結構

單鏈表是順序訪問

資料結構筆記 單鏈表

順序表 一.順序儲存結構 與對陣列的操作類似,並無太大新知識點,顧略去。二.鏈式儲存結構 單鏈表的儲存不連續,每個儲存單元既儲存資料元素,又儲存後繼元素的位址。因此,節點結構定義 templatestruct node 為了實現基本操作,建立模板 templateclass llist 單鏈表初始化...

資料結構單鏈表選擇填空整理

單鏈表的每個結點中包括乙個指標next,它指向該結點的後繼結點。現要將指標q指向的新結點插入到指標p指向的單鏈表結點之後,下面的操作序列中 c 是正確的。2分 a.q p next p next q next b.p next q next q p next c.q next p next p ne...

資料結構單鏈表之合併兩個有序鍊錶筆記。

將兩個公升序鍊錶合併為乙個新的 公升序 鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。輸入 l1 1,2,4 l2 1,3,4 輸出 1,1,2,3,4,4 示例 2 輸入 l1 l2 輸出 示例 3 輸入 l1 l2 0 輸出 0 l1指向的結點值小於或者等於l2指向的結點值 則pr...