一、演算法
建構函式:初始化乙個空的迴圈佇列,將隊頭指標和隊尾指標同時指向陣列的高階,即rear=front=size-1;
析構函式:為空;
入隊:當隊滿時,丟擲「上溢」;隊尾指標在迴圈意義下加一,在隊尾處插入元素x;
出隊:當隊空時,丟擲「下溢」;隊頭指標在迴圈意義下加一,讀取並返回隊頭元素;
讀取隊頭元素:當隊空時,丟擲「下溢」;設定i賦值為隊頭指標加一對長度的取餘;返回i;
判空:如果rear==front,則隊為空,返回1,否則,返回0;
輸出:當rear==front時,輸出「該隊列為空」,定義乙個i,當i!=rear+1時,輸出 i;
二、源**
#include
using namespace std;
const int size=100;
template
class cirqueue
~cirqueue(){}
void enqueue(t x);
t dequeue();
t getqueue();
int empty()
void print();
private:
t data[size];
int front,rear;
};template
void cirqueue
::enqueue(t x)
template
t cirqueue
::dequeue() template
t cirqueue
::getqueue() template
void cirqueue
::print() cout<
三、執行結果
輸入1,將23 45 56 67 89 90 依次入隊,當輸入0時,停止入隊。
輸入2,將隊頭元素23出隊;
輸入3,輸出此時隊頭元素45;
輸入4,判斷佇列是否為空,為空,輸出1,否則輸出0,此佇列非空,輸出0;
輸入5,輸出此佇列所有元素;
輸入6,退出。
實驗三 順序佇列與鏈佇列
1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。2 設計演算法並寫出 實現乙個十將二進位制轉...
實驗三之順序佇列的實現
include include includeusing namespace std const int qsize 100 templateclass seqqueue seqqueue void in t x void out t getfirst const int length const ...
實驗之順序佇列
實驗目的 熟練應用順序佇列,運用於實踐操作中,編寫編碼實現。實驗要求 運用順序佇列編寫學生資訊的入隊出隊,編寫 並成功實現。實驗 標頭檔案 const int max 100 template class cirqueue void enqueue t dequeue t getqueue int ...