從單向鍊錶中刪除指定值的節點

2022-08-15 16:48:12 字數 1212 閱讀 8765

輸入乙個單向鍊錶和乙個節點的值,從單向鍊錶中刪除等於該值的節點,刪除後如果鍊錶中無節點則返回空指標。

鍊錶結點定義如下:

struct listnode

int       m_nkey;

listnode* m_pnext;

詳細描述:

本題為考察鍊錶的插入和刪除知識。

鍊錶的值不能重複

構造過程,例如

1 -> 2

3 -> 2

5 -> 1

4 -> 5

7 -> 2

最後的鍊錶的順序為 2 7 3 1 5 4 

刪除 結點 2 

則結果為 7 3 1 5 4 

輸入描述:

1 輸入鍊錶結點個數

2 輸入頭結點的值

3 按照格式插入各個結點

4 輸入要刪除的結點的值

輸出描述:

輸出刪除結點後的序列

輸入例子:

5

23 2

4 35 2

1 43

輸出例子:

2 1 5 4
1 #include 2

3using

namespace

std;45

struct

listnode6;

1011

intmain()

1232

if (p->m_pnext ==null)

3339

else

404647}

4849

intdel_value;

50 cin >>del_value;

51 p =head;

52if (p->m_nkey ==del_value)

5356

while (p->m_pnext !=null)

5763

else

6467}68

69 p =head;

70while (p !=null)

7175 cout <7778

7980

return0;

81 }

從單向鍊錶中刪除指定值的節點

輸入乙個單向鍊錶和乙個節點的值,從單向鍊錶中刪除等於該值的節點,刪除後如果鍊錶中無節點則返回空指標。鍊錶結點定義如下 struct listnode 詳細描述 本題為考察鍊錶的插入和刪除知識。鍊錶的值不能重複 構造過程,例如 1 2 3 2 5 1 4 5 7 2 最後的鍊錶的順序為 2 7 3 1...

單向鍊錶刪除節點

單向鍊錶刪除節點的乙個技巧,這個是在 程式設計之美 上面看到的,可以用來對付一些演算法題。有時候會遇到這種情況,單鏈表提供乙個指標,要求要刪除指標指向的節點。如下 考慮到釋放記憶體,還再需要乙個指標 我們具體一下,有這麼乙個單向鍊錶,這個鍊錶的節點比較簡單,資料域只有乙個整型 並且當前的指標 ite...

單向鍊錶刪除節點

include include include include 使用隨機數的標頭檔案 using namespace std class list list del ptr list head,list ptr int main srand unsigned time null 以時間為隨機數的種子...