佇列的定義:只允許在一端進行插入操作,另一端進行刪除操作的線性表。(先進先出)
迴圈佇列:首尾相接的佇列。
迴圈佇列的順序儲存結構使用陣列實現。引入兩個指標:front指標指向對頭元素,rear指標指向隊尾元素的下乙個位置。在迴圈佇列裡,rear指標是可以在front指標前面的。
迴圈佇列滿的條件:(rear+1)%maxsize==front;//maxsize為陣列的最大長度
迴圈佇列空的條件:rear==front;
計算迴圈佇列長度:l=(rear-front+maxsize)%maxsize。
c++實現**如下:
#include #define maxsize 20
using namespace std;
templateclass queue
;templatequeue::queue()
templatequeue::~queue()
templateint queue::queuelength()
templatebool queue::enqueue(const t &e)
data[rear] = e;
rear = (rear + 1) % maxsize;//rear後移,如果到最後則轉到陣列開頭
return true;
}templatebool queue::deletequeue(t e)
e = data[front];
front = (front + 1) % maxsize;
return true;
}void main()
資料結構學習筆記(5) 佇列
二 佇列的鏈式儲存實現 佇列是具有一定操作約束的線性表,只能在一端插入,在另一端刪除 佇列是先進先出 fifo 的線性結構 型別名稱 佇列 queue 資料物件集 乙個有0個或者多個元素的有窮線性表 操作集 長度為maxsize的佇列q in queue,佇列元素item in elementtyp...
資料結構學習筆記 3 佇列
型別名 佇列 queue 資料物件集 乙個有0個或多個元素的有窮線性表 操作集 長度為maxsize的堆疊q queue,佇列元素item elementtype 1.生成長度為maxsize的空佇列 queue creatqueue int maxsize 2.判斷佇列q是否已滿 bool isf...
大話資料結構筆記4 2佇列
佇列是只允許在一端進行插入操作,另一端進行刪除操作的線性表,佇列是一種先進先出 first in first out 的線性表,簡稱fifo。允許插入的一端為隊尾,允許刪除的一端稱為隊頭。抽象資料型別 對於長度為n的佇列,順序儲存則需要建立 大於n的陣列,佇列元素儲存在陣列前n個元素 此時 入隊操作...