《資料結構
》實驗三:棧和佇列實驗
一..實驗目的
鞏固棧和佇列資料結構,學會運用棧和佇列。
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...