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

2021-07-05 05:54:05 字數 880 閱讀 7605

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

鍊錶結點定義如下:

struct listnode

;詳細描述:

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

鍊錶的值不能重複

構造過程,例如

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 5 4 1

#include#include using namespace std;

typedef struct listnode

listnode;

///建立鍊錶,返回頭結點

listnode* creatlist()

p_find = p_find->m_pnext;}}

return head;

}listnode* deletenode(listnode* head,int value)

while(p!=null)

p = p->m_pnext;

}return null;

}int main()

return 0;

}

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

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

單向鍊錶刪除節點

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

單向鍊錶刪除節點

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