演算法 第四版 練習1 3 20解答

2022-02-11 11:18:15 字數 862 閱讀 1932

編寫乙個方法delete(),接受乙個int引數k,刪除鍊錶的第k個元素(如果它存在的話)。

為刪除第k個元素,需查詢到第k-1個元素,然後進行刪除。

特殊處理,引數<=0和大小鍊錶length的情況,直接返回。刪除第1個元素同樣需要特殊處理,直接讓頭結點引用下乙個結點。

public void delete(int k)

// make current equals k-1 node

k--;

node current = first;

while (current != null && --k != 0)

// list length less than k

if (k != 0 || current == null || current.next == null)

else

}

測試:

/**

* description :

* author : [email protected]

* date : oct 24, 2016 4:30:01 pm

*/package com.furzoom.lab.algs.ch103;

/** * classname : e10320

* function : todo add function.

* date : oct 24, 2016 4:30:01 pm

* * @version

*/public class e10320

}

演算法-第四版-1.3 揹包、佇列和棧-習題索引彙總

演算法-第四版習題索引彙總

演算法 第四版 練習1 3 40解答

前移編碼。從標準輸入讀取一串字元,使用鍊錶儲存這些字元並清除重複字元。當你讀取了乙個從未見過的字元時,將它插入表頭。當你讀取了乙個重複的字元時,將它從鍊錶中刪去並再次插入表頭。將你的程式命名為movetofront 它實現了著名的前移編碼策略,這種策略假設最近訪問過的元素很可能會再次訪問,因此可以用...

演算法 第四版 練習1 2 10解答

1.編寫乙個類visualcounter,支援加一和減一操作。2.它的建構函式接受兩個引數n和max,其中n指定了 操作的最大次數,max指定了計數器的最大絕對值。3.作為 用影象顯示每次計數器變化後的值。看得懂1和2,看不懂3,1和2的函式好寫,3不知道什麼意思 通過看別人的答案才知道3就是函式 ...

演算法 第四版 練習1 3 30解答

編寫乙個函式,接受一條鍊錶的首結點作為引數,破壞性地 將鍊錶反轉並返回結果鍊錶的首結點。自己寫不出來,參考書上的提示 1.迴圈法 2.遞迴法 遞迴法看不懂,談談迴圈法 使用變數first不斷加1 使用變數second first.next 不斷加1 使用reverse不斷加1.記錄後面那個節點.遍歷...