(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 鍊錶節...