定義
佇列(queue)
是只允許在一端進行插入操作,在另一端進行刪除操作的線性表。遵守先進先出的規則。
資料儲存方式
順序儲存結構:這種結構事先要基本確定佇列的大小,不支援動態分配儲存空間,所以插入和刪除元素比較省時,但是會造成空間的浪費。為了節省空間,引入了迴圈佇列,本質上也是順序儲存結構。
鏈式儲存結構:可以不需要事先知道佇列的大小,支援動態和釋放空間,但是插入和刪除操作比較耗時,也稱鏈佇列。
*當事先基本上確定佇列的大小,且插入和刪除操作比較頻繁時,優先考慮迴圈佇列。
迴圈佇列的實現
#include using namespace std;
template class queue
;//建構函式
//輸入引數:size佇列容量
template queue::queue(int maxsize):front(0),rear(0)
data=new datatype[maxsize];
if(data==null)
capacity=maxsize;
}//析構函式
templatequeue::~queue()
}//查詢迴圈佇列容量
templateint queue::getsize()
//入隊
templatevoid queue::enqueue(datatype x)
else }
//出隊
templatedatatype queue::dequeue()
//獲取隊首資料
templatedatatype queue::getfront()
//獲取隊尾資料
templatedatatype queue::getrear()
//判斷佇列是否為空
templatebool queue::isempty()
//判斷佇列是否為滿
templatebool queue::isfull()
templateint queue::getelementnum()
int main()
迴圈佇列 順序佇列(C )
佇列 queue 是一種限定訪問位置的線性變。他允許在表的一端插入,在另一端刪除。這個和計算機排程策略中的先來先服務fcfs first come first served 是一樣的。佇列中可以插入的一端為隊尾 rear 允許刪除的一端稱為隊頭 front 佇列也分為兩種,一種是用陣列的儲存表示,一...
c 迴圈佇列
wang 程式設計日記一 實現迴圈佇列 類模板方便以後使用 首先是虛基類,相當於宣告了幾個佇列的基本功能 template t class queue virtual bool enqueue const t x 0 virtual bool dequeue t x 0 virtual bool g...
佇列 迴圈佇列
迴圈佇列是乙個大小確定的特殊佇列,它的特殊體現在迴圈,之前提到的普通佇列,我們是用鍊錶來實現的,在這裡,由於迴圈佇列是乙個長度確定的佇列,所以我們可以拿順序表來實現。迴圈佇列的操作與普通佇列類似,不過不同的地方在於當rear走到capacity 1並且front在0號元素位置的時候,當此時再有元素入...