鍊錶的插入:
宣告:可以把向前掛車廂想象成把後一節車廂的位址賦值給前一車廂的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...