C語言實現鍊錶節點的刪除

2021-12-29 20:41:18 字數 847 閱讀 3964

(1)刪除i某個位置的節點;

(2)判斷x值是否在鍊錶中,若存在則刪除該節點;

核心**如下:

//刪除pos位置的節點

node *deleteposelement(node *pnode,int pos)

phead = pnode;

pmove = pnode;

//單獨考慮刪除第乙個節點

if (pos == 1)

while (pmove != null)

i++;

pmove = pmove->next;

}free(pmove->next);

pmove->next = pmove->next->next;

printf("%s函式執行,刪除pos=%d位置元素成功\n",__function__,pos);

return pnode;

}//判斷x值是否在鍊錶中,若存在則刪除該節點

node *deletexelement(node *pnode,int x)

pmovepre = pnode;

pmove = pmovepre->next;

//單獨考慮第乙個節點

if (pmovepre->element == x)

while (pmove != null)

//同步前進

pmove = pmove->next;

pmovepre = pmovepre->next;

}if (pmove == null)

printf("%s函式執行,刪除x=%d成功\n",__function__,x);

return pnode;

}

鍊錶的C語言實現

編輯 c巨集例項 以下 摘自linux核心2.6.21.5原始碼 部分 展示了鍊錶的另一種實現思路,未採用ansi c標準,採用gnu c標準,遵從gpl版權許可。struct list head define list head init name define list head name st...

C語言 鍊錶中刪除節點

錯誤示範 struct node delnode struct node head,int x struct node p head struct node pre null int find 0 while p null pre p pre記錄目標節點的前乙個 p p next if find 0...

雙向鍊錶C語言實現

ifndef stdlist h define stdlist h typedef struct tagstdnode stdnode,lpstdnode typedef struct tagstdlist stdlist,lpstdlist 鍊錶資料結構 struct tagstdnode 鍊錶節...