實驗三 順序佇列

2021-08-09 09:19:26 字數 1256 閱讀 8358

一、演算法

建構函式:初始化乙個空的迴圈佇列,將隊頭指標和隊尾指標同時指向陣列的高階,即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 ...