佇列是一種先進先出(first in first out)的資料結構,重要的元素有 頭,尾, 佇列長度。佇列的操作基本有四種,
驗空(isempty),驗滿(isfull),出隊(dequeue),入隊(enqueue)。
實現佇列有兩種方法,陣列和鍊錶。這裡陣列的程式是我自己寫的,鍊錶的則是參考《c++ primer plus》六版p471上的**。
關於用陣列實現佇列,可以將陣列想象成乙個首尾相接的環,head和tail之間的為佇列,佇列在這個環上移動。
用陣列實現的**如下:
#include using namespace std;
class queue
;/**************************** 以下為類的實現****************************/
queue::queue(int _len=10)
queue::~queue()
bool queue::isfull() const
bool queue::isempty() const
bool queue::enqueue(int x)
}bool queue::dequeue(int &x)
}void queue::show() const
; enum
; node *head;
node *tail;
int items; //佇列內現有元素的個數
const int qsize;//佇列的最大長度
queue(const queue &q):qsize(0)
//預設構造長度為0
queue & operator=(const queue & q) //過載=這個運算子
public:
queue(int qs=q_size);
~queue();
bool isempty() const;
bool isfull() const;
int queuecount() const;
bool enqueue(const int & item);
bool dequeue(int &item);
};/**************************** 以下為類的實現****************************/
queue::queue(int qs):qsize(qs)
queue::~queue()
}bool queue::isempty() const
bool queue::isfull() const
int queue::queuecount() const
bool queue::enqueue(const int &item)
bool queue::dequeue(int &item)
選擇判斷 作業9 佇列及其應用
筆記 鏈佇列迴圈佇列 判斷題 所謂 迴圈佇列 是指用單向迴圈鍊錶或者迴圈陣列表示的佇列。f在用陣列表示的迴圈佇列中,front值一定小於等於rear值。f不論是入佇列操作還是入棧操作,在順序儲存結構上都需要考慮 溢位 情況。t 選擇題為解決計算機主機與印表機之間速度不匹配問題,通常設定乙個列印資料緩...
演算法8 佇列及其實現
和上一部分關於棧的部分一樣,不講基本知識,直接實現,走你!佇列和棧相似,也包括一些基本的佇列的操作,初始化,出佇列,入佇列,判空,判滿,清空等操作。1 include 2 include 3 include 45 define queuelen 15 67 typedef struct 8data ...
03 佇列操作
時間限制 100ms 記憶體限制 100kb 描述假設以帶頭節點的迴圈鍊錶表示佇列,並且只設乙個指標指向隊尾元素節點 不設頭指標 節點元素這裡設為整型,編寫佇列的初始化 入隊和出隊演算法。其中入隊元素個數n及其節點資料,和出隊元素個數m都是從鍵盤輸入 預設n m都不小於0 然後輸出出隊元素,出隊不合...