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

2022-02-11 11:18:14 字數 1312 閱讀 2989

編寫乙個類resizingarrayqueueofstrings,使用定長陣列實現佇列的抽象,然後擴充套件實現,使用調整陣列的方法突破大小的限制。

參照堆疊的實現即可。

/**

* description :

* author : [email protected]

* date : oct 20, 2016 3:15:52 pm

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

/** * classname : resizingarrayqueueofstrings

* function : todo add function.

* date : oct 20, 2016 3:15:52 pm

* * @version

*/public class resizingarrayqueueofstrings

public boolean isempty()

public int size()

public void enqueue(string s)

queue[last++] = s;

}public string dequeue()

return queue[first++];

}private void resizing(int n)

queue = tmp;

count = n;

last = last - first;

first = 0;

}public static void main(string args)

}}

輸出:

size(): 1 | count: 1

size(): 2 | count: 2

size(): 3 | count: 4

size(): 4 | count: 4

size(): 5 | count: 8

size(): 6 | count: 8

a | size(): 6 | count: 8

b | size(): 5 | count: 8

c | size(): 4 | count: 8

d | size(): 3 | count: 8

e | size(): 2 | count: 8

f | size(): 1 | count: 8

g | size(): 0 | count: 2

演算法-第四版-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.記錄後面那個節點.遍歷...