實驗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...