實驗三 順序棧

2021-06-26 13:03:40 字數 1754 閱讀 3299

《資料結構

》實驗三:棧和佇列實驗

一..實驗目的

鞏固棧和佇列資料結構,學會運用棧和佇列。

1.回顧棧和佇列的邏輯結構和受限操作特點,棧和佇列的物理儲存結構和常見操作。

2.學習運用棧和佇列的知識來解決實際問題。

3.進一步鞏固程式除錯方法。

4.進一步鞏固模板程式設計。

二.實驗時間

準備時間為第5周到第6周,具體集中實驗時間為6週第2次課。2個學時。

三..實驗內容

1.自己選擇順序或鏈式儲存結構

,定義乙個空棧類,並定義入棧、出棧

、取棧元素基本操作。然後在主程式中對給定的n個資料進行驗證,輸出各個操作結果。

源**:

標頭檔案seqstack.h:

#ifndef seqstack_h

#define seqstack_h

const int n = 10;

class seqstack

;void push(int x);  //入棧

int pop();  //出棧

int gettop(); //取棧頂元素

int empty();  //判空

};#endif

函式定義檔案seqstack_func.cpp:

#include

#include"seqstack.h"

using namespace std;

seqstack::seqstack()

void seqstack::push(int x)

int seqstack::pop()

int seqstack::empty()

else return 0;

}int seqstack::gettop()

主程式檔案seqstack_main.cpp:

#include

#include

#include"seqstack.h"

using namespace std;

int main()

else cout << "這不是空棧!" << endl;

system("pause");

cout << "分別輸入兩個入棧的資料:" << endl;

cout << "輸入第乙個數:"; cin >> x; cout << endl;

cout << "輸入第二個數:"; cin >> y;

s.push(x); s.push(y);

system("pause");

cout << "棧頂元素為:" << s.gettop() << endl;

system("pause");

cout << "執行一次出棧操作:" << endl;

s.pop();

cout << "操作後棧頂元素為:" << s.gettop() << endl;

實驗三之順序棧

includeusing namespace std const int stacksize 10 templateclass seqstack seqstack void push t x t pop t gettop int empty int full void print private t...

實驗三 順序棧和鏈棧

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

資料結構實驗三 順序棧

include include define m 10 define n 5 int flag 0 typedef struct seqstack seqstack void initstack seqstack s void createstack seqstack s flag 1 printf...