#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 待刪除的節點不是尾節點的情況 首先把待刪除的節點的前乙個節點的...