原创 算法-第四版-練習1.3.32解答

題目 Steque。一個以棧爲目標的的隊列(或稱steque),是一種支持push、pop和enqueue操作的數據類型。爲這種抽象數據類型定義一份API並給出一份居於鏈表的實現。 思路 思路很簡單,就是在用鏈表建立的棧中添加一個enqu

原创 算法-第四版-練習1.3.38解答

題目 刪除第k個元素。實現一個類並支持表1.3.13中的API: 表1.3.12 泛型一般隊列的API public class GeneralizedQueue<Item>   GeneralizedQueue() 創建一條空隊列 bo

原创 算法-第四版-練習1.3.42解答

題目 複製棧。爲基於鏈表實現的棧編寫一個新的構造函數,使以下代碼 Stack<Item> t=new Stack<Item>(s); 得到的t指向棧s的一個新的獨立的副本。 思路 因爲棧是後入先出,所以在複製棧的時候,要聲明一箇中轉棧來實

原创 算法-第四版-練習1.3.39

題目 環形緩衝區。環形緩衝區,又稱爲環形隊列,是一種以定長爲N的先進先出的數據結構。它在進程間的異步數據傳輸或記錄日誌文件時十分有用。當緩衝區爲空時,消費者會在數據存入緩衝區前等待;當緩衝區滿時,生產者會等待將數據存入緩衝區。爲RingB

原创 算法-第四版-練習1.3.29解答

題目 用環形鏈表實現Queue。環形鏈表也是一條鏈表,只是沒有任何結點鏈接爲空,且只要鏈表非空則last.next的值就爲first。只能使用一個Node類型的實例變量(last)。 思路 用last.next代替first即可。 代碼