迴圈佇列的基本實現

2021-09-14 03:42:06 字數 784 閱讀 7434

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

迴圈佇列:為了解決假溢位的問題;迴圈佇列有兩個指標,rear尾指標和front頭指標(相當於陣列的下標)

隊空:rear和front指在同乙個位置,即:rear==front;

隊滿:(rear+1)%queuesize==front。

queuesize是指的佇列的元素的個數

實現:

#includeusing namespace std;

const int queuesize=100;

templateclass cirqueue

//析構函式、、

void enqueue(datatype x);//入隊

datatype dequeue();//出隊

datatype getqueue();//讀取隊頭元素

int empty();//判空

};templatecirqueue::cirqueue()

templatevoid cirqueue::enqueue(datatype x)

templatedatatype cirqueue::dequeue()

templatedatatype cirqueue::getqueue()

templateint cirqueue::empty()

int main()

for(int i=0;i<5;i++)

cout

}

迴圈佇列的基本實現

2.完成對迴圈佇列結構的定義,以及對迴圈佇列的各種基本運算的實現 每種基本運算用乙個函式來實現 基本運算包括 初始化init sqqueue運算 判隊空empty sqqueue運算 入隊en sqqueue運算 出隊de sqqueue運算 取隊頭元素gethead sqqueue運算。inclu...

迴圈佇列的基本操作實現

front 指向隊頭元素的前乙個單元 rear 指向隊尾元素 maxsize 陣列的最大長度 元素入隊的時候,將隊尾的指標加1,然後元素入隊 元素出隊時,先將對頭指標加1,然後元素出隊。隊頭指標進1 front front 1 maxsize 隊尾指標進1 rear rear 1 maxsize 在...

29 迴圈佇列的基本操作實現

circularqueue.h檔案 ifndef circularqueue h define circularqueue h include include include define max size 5 定義佇列資料結構 typedef struct circularqueue circul...