迴圈佇列的實現

2021-08-09 10:12:34 字數 1129 閱讀 2005

實驗4:棧和佇列的基本操作實現及其應用

1、 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。

2、 學會使用棧和佇列解決實際問題。

1、 自己確定結點的具體資料型別和問題規模:

分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。

分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。

2、 設計演算法並寫出**,實現乙個十將二進位制轉換成2進製數。

迴圈佇列的實現:

#include

using namespace std;

const int queuesize=100;

class cirqueue

//建構函式,初始化空佇列

~cirqueue(){} //析構函式

void enqueue(int x); //入隊操作,將佇列元素出隊

int dequeue(); //出隊操作,將隊頭元素出隊

int getqueue(); //取隊頭元素(並不刪除)

int empty() //判空

private:

int data[queuesize]; //存放佇列元素的陣列

int front,rear; //隊頭和隊尾指標

}; void cirqueue::enqueue(int x)

int cirqueue::dequeue()

int cirqueue::getqueue()

int main()

while(d);

cout<

<

<

>tab; switch(tab) case 2: { cout<

<

執行結果截圖:

佇列 迴圈佇列的實現

為了可以重新利用佇列底層陣列中已刪除元素所佔的空間,消除可能出現的 假滿 現象,將順序佇列改進為迴圈佇列。迴圈佇列是首尾相連的佇列 當front rear變數達到底層陣列的capacity 1之後,再向前以為就變成0.入隊 1 判斷佇列是否已滿,已滿丟擲越界異常 2 不滿的話把元素查到隊尾,並且re...

迴圈佇列的實現

佇列是一種先進先出的線性表,具有線性表的特性 分為鏈式佇列與順序佇列 順序佇列 用一段位址連續的儲存單元儲存資料元素,定義兩個游標 指向隊頭 的游標 front 指向隊尾的游標 rear 如果front rear隊列為空,如果 rear 1 maxsize front佇列滿 此為迴圈佇列 如普通佇列...

迴圈佇列的實現

include include includeusing namespace std typedef int qelementtype typedef int status define error 0 define ok 1 define maxqsize 10 佇列的資料抽象 typedef s...