實驗4:棧和佇列的基本操作實現及其應用
1、 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。
2、 學會使用棧和佇列解決實際問題。
1、 自己確定結點的具體資料型別和問題規模:
分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。
分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。
2、 設計演算法並寫出**,實現乙個十將二進位制轉換成2進製數。
順序棧的實現
#include
using namespace std;
const int stacksize=10;
class seqstack //建構函式,初始化乙個空棧
~seqstack(){} //析構函式為空
void push(int x); //入棧操作,元素x 入棧
int pop(); //出棧操作,棧頂元素彈出
int gettop() //取棧頂元素(不刪除)
int empty() // 判斷是否空棧
private:
int data[stacksize]; //存放棧頂元素的陣列
int top; //棧頂指標,為棧頂元素在陣列中的下標
};void seqstack:: push(int x)
int seqstack::pop()
int main()
while(d);
cout<
<
<
>tab; switch(tab) case 2: { cout<
<
執行結果截圖:
實驗四順序棧
1 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。2 學會使用棧和佇列解決實際問題。源 順序棧 include using namespace std const int stacksize 10 templateclass seqstack seqstack void pu...
棧的順序儲存結構實現(四)
18.11.17 棧是一種只限定在表尾進行插入和刪除的線性表,這裡的表尾指的是棧頂,而不是棧尾,所以棧又被稱為先進後出的線性表,也就是說棧是乙個類似於木桶之類存在,先放進去的後拿出來 我們通常用乙個變數top來標誌棧頂元素的變化,若棧的長度為stacksize,那麼top的值就必須小於stacksi...
實驗三 順序棧
資料結構 實驗三 棧和佇列實驗 一 實驗目的 鞏固棧和佇列資料結構,學會運用棧和佇列。1.回顧棧和佇列的邏輯結構和受限操作特點,棧和佇列的物理儲存結構和常見操作。2.學習運用棧和佇列的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第5周到第6周,...