鍊錶插入 刪除學習筆記

2021-09-30 09:57:32 字數 999 閱讀 5985

鍊錶的插入:

宣告:可以把向前掛車廂想象成把後一節車廂的位址賦值給前一車廂的next指標。

首先,我們把鍊錶的節點比喻成火車的車廂。每節車廂的前面都有乙個鉤子,我們把這想想成指標,他用來連線上一節車廂。

接著,使用尾插法的話,也就是先要找到火車尾,即鍊錶的尾指標。然後把自己要加進去的車廂掛到火車的最後面。最後標記這節車廂為火車尾(把位址賦值給尾指標)。

使用頭插法的話,就是先找到火車頭,即鍊錶的頭指標。然後把頭指標後面的那節車廂掛到你要插入鍊錶的那節車廂的後面。最後在把插入鍊錶的那節車廂掛到火車頭去(把位址賦值給頭指標)。

舉例:(火車車廂)

struct node

;(火車頭)node* head;

(火車尾)node* end;

(車廂1)node* m1;

(車廂2)node* m2;

//開始前鍊錶只有火車頭,後面沒有車廂,車頭也是車尾。

head=end=null;

//1.頭插法

//申請車廂1

m1=new node;

m1->next=null;

if(head==null) //如果只有火車頭執行這裡面的

else       //如果除了火車頭還有其他車廂執行這裡面的

//2.尾插法

//申請車廂2

m2=new node;

m2->next=null;

if(head==null) //如果只有火車頭執行這裡面的

else       //如果除了火車頭還有其他車廂執行這裡面的

鍊錶的刪除

1.       判斷刪除的節點是否是首節點:

2.       判斷第二個節點是否為空節點;

3.       迴圈遍歷節點找出需要刪除的節點

刪除鍊錶:先「連」再「斷」

void delete1(book *head, int num)

cout<

鍊錶插入刪除

include include typedef struct node node,linklist void createlist linklist head 建立鍊錶 s node malloc sizeof node s next null s data data p next s p s in...

鍊錶插入刪除操作

include using namespace std 定義單向鍊錶節點 struct listnode end of listnode 將新節點插入煉表頭 void insertlist listnode head,int insertdata listnode pnode new listnod...

鍊錶的插入 刪除

include include include define true 1 define false 0 define ok 1 typedef struct l list list,plist plist create list int len 建立乙個單鏈表 bool show list pli...