1、 熟練掌棧和佇列的結構特點,掌握棧和佇列的順序儲存和鏈式儲存結構和實現。
2、 學會使用棧和佇列解決實際問題。
1、自己確定結點的具體資料型別和問題規模:
分別建立乙個順序棧和鏈棧,實現棧的壓棧和出棧操作。
分別建立乙個順序佇列和鏈佇列,實現佇列的入隊和出隊操作。
2、設計演算法並寫出**,實現乙個十將二進位制轉換成2進製數。
3、選做題(*)
設計乙個模擬飯堂排隊打飯管理軟體,實現「先來先打飯」的排號叫號管理。
1、依據實驗內容分別說明實驗程式中用到的資料型別的定義;
2、相關操作的演算法表達;
3、完整程式;
4、總結、執行結果和分析。
5、總體收穫和不足,疑問等。
1、 按照資料結構實驗任務書,提前做好實驗預習與準備工作。
2、 加「*」為選做題。做好可加分。
3、 嚴格按照資料結構實驗報告模板和規範,及時完成實驗報告。
4、 在個人主頁上發文章提交作業。
5、 實驗課會抽查3-5人,希望你可以被查到!
五、實驗
1.順序棧
#includeusing namespace std;
const int max=20;
class seqstack
~seqstack(){}
void push(int x);
void pop();
int gettop()
int empty()
private:
int data[max];
int top;
};
void seqstack::push(int x)
void seqstack::pop()
cout<
a.pop();
return 0;
}
結果:
2.鏈棧
六、心得體會
對於棧的結構有更深刻的感受,同時熟悉了對棧的操作。但是仍有很多問題出現,例如書寫規範問題,讓我花了較多時間去查詢問題所在。
順序棧和鏈棧
順序棧的儲存結構 define maxsize 100 typedef struct sqstack 順序棧的初始化操縱就是為順序棧動態分配乙個預訂大小的陣列空間 選乙個大小合適的桶 void initstack sqstack s 入棧操作就是指在棧頂插入乙個新的元素,新的元素為棧頂元素 給桶裡放...
實驗三 順序棧
資料結構 實驗三 棧和佇列實驗 一 實驗目的 鞏固棧和佇列資料結構,學會運用棧和佇列。1.回顧棧和佇列的邏輯結構和受限操作特點,棧和佇列的物理儲存結構和常見操作。2.學習運用棧和佇列的知識來解決實際問題。3.進一步鞏固程式除錯方法。4.進一步鞏固模板程式設計。二 實驗時間 準備時間為第5周到第6周,...
棧,順序棧,鏈棧
棧作為一種限定性線性表,是將表的插入刪除限制為僅在表的一端進行,通常將表中允許插入刪除的一端叫做棧頂 top 因此棧頂的當前位置是動態變化的。棧的另一端叫做棧底 bottom 當棧中沒有元素時稱為空棧。插入操作稱為進棧或入棧,刪除操作稱為出棧或退棧。棧是先進後出的線性表,簡稱為lifo表。棧主要有兩...