大話資料結構學習筆記(6)佇列的順序儲存結構及實現

2021-10-09 20:06:16 字數 832 閱讀 6922

佇列的定義:只允許在一端進行插入操作,另一端進行刪除操作的線性表。(先進先出)

迴圈佇列:首尾相接的佇列。

迴圈佇列的順序儲存結構使用陣列實現。引入兩個指標: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個元素 此時 入隊操作...