輸入乙個單向鍊錶和乙個節點的值,從單向鍊錶中刪除等於該值的節點,刪除後如果鍊錶中無節點則返回空指標。
鍊錶結點定義如下:
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 輸入要刪除的結點的值
輸出描述:
輸出刪除結點後的序列
輸入例子:
523 2
4 35 2
1 43
輸出例子:
2 1 5 4
1 #include 23using
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 以時間為隨機數的種子...