雙端佇列是指允許兩端都可以進行入隊和出隊操作的佇列,其元素的邏輯結構仍是線性結構。將佇列的兩端分別稱為前端和後端,兩端都可以入隊和出隊。
class pha.yx.arithmetic.doublequeue.node extends %registeredobject
method getdata()
method setdata(data)
method getfront()
method setfront(front as node)
method getnext()
method setnext(next as node)
}
class pha.yx.arithmetic.doublequeue extends %registeredobject
/* 移除頭元素 */
method removehead()
/* 隊尾增加元素 */
method addlast(data)
/* 移除隊尾元素 */
method removelast()
/* 判斷佇列是否為空 */
method isempty()
/* 佇列長度 */
method size()
/* 清除佇列 */
method clear()
/* 隊首迴圈遍歷佇列 */
method foreachhead()
/* 隊尾迴圈遍歷佇列 */
method foreachlast()
}
/// w ##class(pha.yx.arithmetic).doublequeue()
classmethod doublequeue()
4
*****=佇列長度*****=43
12*****=佇列倒序遍歷完成*****=21
34*****=佇列正序遍歷完成*****=
2*****=佇列長度*****=31
*****=佇列倒序遍歷完成*****=13
*****=佇列正序遍歷完成*****=
資料結構與演算法 第七章 遞迴
7.小結 8.參考 遞迴是一種程式設計技巧,在許多資料結構和演算法中都用了遞迴進行實現,如果要學習後面相對比較複雜的資料結構與演算法,掌握遞迴非常重要。我們先來看乙個例子,比如我們在電影院看電影,想知道自己坐在第幾排,但是電影院太黑沒法自己數,於是我們問前面的人他在第幾排,但是前面的人也不知道,所以...
資料結構第七章
平衡二叉樹 基本思想 在構造二叉排序樹的過程中,每插入乙個 結點時,首先檢查是否因插入而破壞了樹的平衡性,若是,則找出最小不平衡子樹,在保持二叉排序樹特 性的前提下,調整最小不平衡子樹中各結點之間的鏈 接關係,進行相應的旋轉,使之成為新的平衡子樹 平衡二叉樹 或者是一棵空的二叉排序樹,或者是具 有下...
PTA資料結構與演算法 第七章 排序
1 1僅基於比較的演算法能得到的最好的 最壞時間複雜度 是o nlogn t 對n個記錄進行快速排序,在最壞的情況下,其時間複雜度是o nlogn 1 2對n個記錄進行簡單選擇排序,比較次數和移動次數分別為o n2 和o n t1 3 對n個不同的資料採用氣泡排序進行從大到小的排序,當元素基本有序時...