刪除單鏈表中指定的節點

2021-05-28 05:23:02 字數 722 閱讀 8960

#include "stdafx.h"

#include #include #include using namespace std;

struct node

};//建立單鏈表

node *createsinglelist(int arr, int n)

return head;

}//輸出單鏈表

void print(node *head)

couthead = head->pnext;

} return res;

}//刪除指定元素值為target的節點

void removenode(node *&head, int target)

else

}//刪除節點

pre->pnext = curr->pnext;

curr->pnext = null;

}int main()

node *head = createsinglelist(arr, n);

node *res = findnode(head, 5);

cout<<"find node :"cout<<"單鏈表為:";

print(head);

cout

cout<<"刪除後為:";

print(head);

cout<}

刪除單鏈表中指定元素

解題思路 1.判斷頭結點是否為需要刪除的元素,為防止鍊錶開頭有多個元素均為指定元素,所以使用while迴圈判斷 2.判斷頭結點是否為空,3.宣告乙個prev節點,prev.next節點為當前判斷的節點,如果當前節點的值等於指定元素,那麼直接用prev.next.next替換prev.next 如果不...

刪除鍊錶中指定節點

刪除鍊錶中指定節點 思路 利用其他結構 這裡利用棧結構 存放鍊錶中除要刪除的節點外的其他節點。依次將鍊錶元素放入棧中,當遇到要刪除的元素時跳過,最後將棧中元素重新連線成鍊錶。具體 public class removevalue public static node remove node head...

單鏈表刪除節點

給定單向鍊錶的頭指標和乙個要刪除的節點的值,定義乙個函式刪除該節點。返回刪除後的鍊錶的頭節點。思路 刪除某個結點需要找到該結點的前乙個結點,由於單向鍊錶沒有指向前乙個結點的指標,所以不得不從頭指標開始遍歷鍊錶。顯然時間複雜度為o n 1 待刪除的節點不是尾節點的情況 首先把待刪除的節點的前乙個節點的...