一、題目:給乙個鍊錶,將值為x的元素刪除。
比如,乙個鍊錶為:, 然後刪除的值x=1,最終輸出的鍊錶為:
二、思路:
遍歷整個鍊錶,如果第i個結點的值等於刪除的值x,則將第(i-1)節點的指標指向(i+1)的結點,就相當於跳過了第i個結點。
三、思路**實現:
/*
* 傳入鍊錶的頭結點和整形值value,刪除元素x
*/ public void delete_element(node head ,int x)
else
p=p.next; //如果不是刪除的元素,就將頭結點的指標指向第乙個結點,再一次迴圈,不能寫作p.next=p.next
} }
四、完整**實現:
package list;
public class list
/* * 初始化鍊錶,將資料寫入鍊錶當中
*/public void list_init(node node ,int data){
node t=new node();
t=node;
for(int i=0;i
(第一行鍊錶元素,第二行是刪除1之後的鍊錶元素)
鍊錶 遞迴刪除不帶頭結點鍊錶所有x元素
王道p37 t1 設計乙個遞迴演算法,刪除不帶頭結點的單鏈表l中所有值為x的結點。王道上的答案絕對是錯的,我自己想了乙個 函式主體 linklist del x linklist prior,linklist l,int x else if l data x 呼叫方法 l del x null,l,...
專案一 刪除結點值為X的結點
問題及 檔名稱 words.cpp 作 者 尚 月 完成日期 2015年02月08日 版 本 號 v1.0 問題描述 編寫函式,刪除鍊錶中有值為x的結點。程式輸入 若干正數 以0或乙個負數結束 建立鍊錶。程式輸出 輸出刪除後的鍊錶 include using namespace std struct...
刪除鍊錶的結點
1.問題描述 給定鍊錶的頭結點和待刪除結點,要求刪除鍊錶的結點要求時間複雜度為o 1 來自 劍指offer 2.分析 我們都知道鍊錶的要想訪問某個結點必須要從頭結點挨個遍歷,並且單鏈表我們沒有指向前驅的結點,因此我們可以用狸貓換太子 用這個待刪除結點的下個結點裡面的內容,複製到這個待刪除結點,然後刪...