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

2021-08-09 07:55:09 字數 2476 閱讀 9647

一、實驗目的

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

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

二、實驗內容

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

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

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

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

3.設計乙個模擬飯堂排隊打飯管理軟體,實現「先來先打飯」的排號叫號管理。

三、編碼

1.順序棧

#include

using namespace std;

const int max_size=10;

class seqstack;

seqstack::seqstack()

void seqstack::push(float x)

float seqstack::pop()

float seqstack::gettop()

int seqstack::isempty()

int main()catch(char *p);

class linkedstack;

linkedstack::linkedstack()

linkedstack::~linkedstack()

}void linkedstack::push(float x)

float linkedstack::pop()

float linkedstack::gettop()

bool linkedstack::isempty()

int main()catch(char *p);

cirqueue::cirqueue()

void cirqueue::enqueue(float x)

float cirqueue::dequeue()

float cirqueue::getqueue()

bool cirqueue::isempty()

int main()catch(char *p);

class linkedqueue;

linkedqueue::linkedqueue()

linkedqueue::~linkedqueue()

}void linkedqueue::enqueue(float x)

float linkedqueue::dequeue()

float linkedqueue::getqueue()

bool linkedqueue::isempty()

int main()catch(char *p);

class transstack

~transstack(){}

void push(int a)

int pop()

};int main()

try;

class queueofcanteen;

queueofcanteen::queueofcanteen()

queueofcanteen::~queueofcanteen()

}int queueofcanteen::gettotal()

void queueofcanteen::enqueue(int x)

int queueofcanteen::dequeue()

int queueofcanteen::getqueue()

int queue(queueofcanteen q)catch(...){}

system("cls");

queue(q);

} if(s=='n'||s=='n') return 0;

return 0;

}int menu(queueofcanteen q) if(c=='n'||c=='n') return 0; return 0; } int main()catch(char *p){ cout<

執行結果:

退出系統時出現以下異常(找不出原因):

四、實驗心得

基本掌握了棧和佇列的基本操作,但是實踐時依然很多bug。

實驗三 棧和佇列的基本操作實現及其應用 順序棧

1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。2 設計演算法並寫出 實現乙個十將二進位制轉...

實驗2棧和佇列的基本操作及應用

棧和佇列的基本操作及應用 1 完成順序棧的設計並測試順序棧各操作 2 完成順序迴圈佇列的設計並測試順序迴圈佇列各操作 3 利用順序棧和順序迴圈佇列完成回文的判斷。include include define maxsize 60 線性表儲存空間的大小 typedef char elemtype ty...

實驗四 棧和佇列的基本操作的實現

1.實驗目的 熟練掌握棧和佇列的抽象資料型別,能在相應的應用問題中正確選用他們,熟練掌握棧和佇列的實現方法 順序和鏈式 兩種儲存結構和基本操作的實現演算法,注意空和滿的判斷條件及他們的描述方法,掌握迴圈佇列和其他順序結構實現上的不同及解決方法,熟悉各種佇列的基本操作在迴圈佇列上的實現。2.實驗內容 ...