佇列:只允許在一端進行插入操作(隊尾),在另一端進行刪除操作的線性表(隊頭)。先進先出。
迴圈佇列:為了解決假溢位的問題;迴圈佇列有兩個指標,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...