煉表頭節點作用

2021-10-01 14:50:00 字數 1447 閱讀 4230

刪除節點

參考:單鏈表頭節點,頭指標

深刻理解:帶頭結點和不帶頭結點的區別 使用頭結點的優勢

頭節點不是鍊錶必須的 ,但有頭節點能讓鍊錶對首節點的操作,如首節點前插入節點和刪除首節點和操作其他節點一樣。

sturct node;

typedef

struct node *ptrtonode;

typedef ptrtonode list;

typedef ptrtonode position;

struct node

;

中間節點前插入

int n;

position p, pbefore;

position tem =

(list)

malloc

(sizeof

(struct node));

tem->data = n;

tem->next = p;

pbefore->next = tem;

int n;

position pfirst = l->next;

//首節點

position tem =

(list)

malloc

(sizeof

(struct node));

tem->data = n;

tem->next = pfirst;

l->next = tem;

可見首節點與中間節操作一樣,首節點插入時 p = l->next; pbefore = l;

int n;

position tem =

(list)

malloc

(sizeof

(struct node));

tem->data = n;

tem->next = l;

l = tem;

與中間節點操作不同,因此需要單獨操作。

中間位置刪除節點

position pbefore, p;

//p指向要刪除的節點

pbefore->next = p->next;

free

(p);

position pfirst = l->next;

l->next = pfirst->next;

free

(pfirst)

;

操作與中間相同

position tem = l;

l = l->next;

free

(tem)

;

需要單獨判斷操作

帶表頭節點的鍊錶的基本操作

include include struct node typedef struct node node typedef node link 函式功能 釋放節點 void release link head 函式功能 建立節點並分配空間,連續建立10次不成功就返回 int node creat li...

帶表頭節點的迴圈雙向鍊錶基本操作

include include struct node typedef struct node node typedef node link 函式功能 釋放鍊錶 void release link head p head head null free p 函式功能 建立節點 int node cre...

單鏈表頭節點,頭指標

鍊錶中第乙個結點的儲存位置叫做頭指標,那麼整個鍊錶的訪問就必須是從頭指標開始進行了。之後的每乙個結點,其實就是上乙個的後繼指標指向的位置。這裡有個地方要注意,就是對頭指標概念的理解,這個很重要。鍊錶中第乙個結點的儲存位置叫做頭指標 如果鍊錶有頭結點,那麼頭指標就是指向頭結點資料域的指標。畫乙個圖吧。...