實驗2:棧和佇列的基本操作實現及其應用
一、實驗目的
1、 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。
2、 學會使用棧和佇列解決實際問題。
二、實驗內容
1、自己確定結點的具體資料型別和問題規模:
分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。
分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。
順序棧#include
using namespacestd;
const intstacksize=10;
class seqstack
~seqstack(){}
void push(int x);
int pop();
int gettop();
int empty();
private:
int data[stacksize];
int top;
};
voidseqstack::push(int x)
intseqstack::pop()
intseqstack::gettop()
intseqstack::empty()
void main()
#include
struct node
; classlinkstack
~linkstack(){}
void push(int x);
int pop();
int gettop()
int empty();
private:
node *top;
};
voidlinkstack::push(int x)
intlinkstack::pop()
intlinkstack::empty()
void main()
#include
using namespacestd;
const intqueuesize=100;
class cirqueue
~cirqueue(){}
void enqueue(int x);
int dequeue();
int getqueue();
int empty();
private:
int data[queuesize];
int front,rear;
};
void cirqueue::enqueue(intx)
intcirqueue::dequeue()
intcirqueue::getqueue()
intcirqueue::empty()
void main()
#include
using namespacestd;
struct node
; classlinkqueue
; linkqueue::linkqueue()
linkqueue::~linkqueue()
} voidlinkqueue::enqueue(int x)
intlinkqueue::dequeue()
intlinkqueue::getqueue()
intlinkqueue::empty()
void main()
catch(char *wrong)
cout<<"隊頭元素為:"catch(char *wrong)
cout<<"隊頭元素為:"#include
const intstacksize=100;
class seqstack
~seqstack(){}
int empty();
int data[stacksize];
int top;
};int main()
while(x!=0);
cout<<"該數字的二進位制為:"while (s.top!=-1);
cout}2、設計演算法並寫出**,實現乙個十將二進位制轉換成2進製數。
3、選做題(*)
設計乙個模擬飯堂排隊打飯管理軟體,實現「先來先打飯」的排號叫號管理。
三、實驗步驟
1、依據實驗內容分別說明實驗程式中用到的資料型別的定義;
2、相關操作的演算法表達;
3、完整程式;
4、總結、執行結果和分析。
5、總體收穫和不足,疑問等。
四、實驗要求
1、 按照資料結構實驗任務書,提前做好實驗預習與準備工作。
2、 加「*」為選做題。做好可加分。
3、 嚴格按照資料結構實驗報告模板和規範,及時完成實驗報告。
4、 在個人主頁上發文章提交作業。
5、 實驗課會抽查3-5人,希望你可以被查到!
#include
struct node
; classseqstack
~seqstack(){}
void push(int x);
int pop();
private:
node *top;
};
voidseqstack::push(int x)
intseqstack::pop()
int main()
try
catch(char *wrong)
實驗三 棧和佇列的基本操作實現及其應用
一 實驗目的 1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。二 實驗內容 1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。2 設計演算法並...
實驗4 棧和佇列的基本操作實現及其應用
1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。三 源程式 五 實驗心得 棧特點就是先進後出 後進先出 從乙個口進去,從同乙個口出去。棧是限定僅在尾...
實驗4 棧和佇列的基本操作實現及其應用
1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。1 自己確定結點的具體資料型別和問題規模 分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。三 源程式 五 實驗心得 佇列是特殊的線性表,佇列是只允許在一端進行插入操作,在另一端進行刪除...