鍊錶的按值刪除

2021-09-25 23:09:12 字數 1108 閱讀 9118

**的作用是將元素用頭插的方法插入簡歷的鍊錶中,然後輸入乙個數值,刪掉鍊錶中與其相等的結點。

**邏輯:

在主函式中建立兩個鍊錶,並用頭插的方法插入兩組資料,呼叫deletehead函式對其操作(第乙個結點和最後乙個結點不做處理);用ppos指向第乙個結點,t指向ppos的下乙個結點,若其滿足刪除條件,令ppos->next指向t->next,free(t)並令t=null。然後令ppos所指向的結點的next指向ppos->next->next如圖示紅線。

最後處理第乙個節點和最後乙個結點,若第乙個結點需要刪除,則調頭刪函式deletehead對其操作,然後遍歷鍊錶至倒數第二個結點,若ppos->next->score==num則調頭刪函式刪除最後乙個結點,完成操作。

同樣,對另乙個鍊錶也可以進行此操作以刪除其中id對應的結點。

所得到的結果為:

實現鍊錶的初始化,按值查詢,插入,刪除

include include include define ok 1 define error 0 define true 1 define false 0 typedef char elemtype typedef struct node 結點型別定義 node,linklist void in...

鍊錶之刪除某個值的結點

func.h include include include typedef struct studentstu,pstu void list sort insert pstu pstu int void list delete pstu pstu int void list print pstu ...

鍊錶 刪除鍊錶的節點

劍指offer的乙個題,題目是要求在最少的時間內刪除鍊錶的節點。問題分析 對於鍊錶的刪除,按照劍指offer的一貫思路就是展開討論 1 空鍊錶咋辦 待刪除的節點是空節點咋辦 2 要刪除的節點在鍊錶中的位置有三種情況 1 鍊錶只有乙個節點,待刪除節點是表頭又是尾節點 2 鍊錶有多個節點,待刪除的節點是...