課程作業五

2022-07-28 14:45:32 字數 983 閱讀 4833

git鏈結

#include

stack採用模板類實現, stack物件的預設構造形式:

stack stkt; stack stkint; //乙個存放int的stack容器。 stack stkfloat; //乙個存放float的stack容器。 stack stkstring; //乙個存放string的stack容器。

`bool empty() const;

size_type size() const;

reference top();

const_reference top() const;

void push(const value_type& x);

void push(value_type&& x);

template void emplace(args&&... args);

void pop();

void swap(stack& c) noexcept(noexcept(swap(c, q.c)));`

這是stack原始碼中函式的片段。

功能函式有

1,empty()

bool型別,返回當前棧是否為空的真假判斷

2,size()

返回容器中元素的個數,int型別

3,top()

返回值為棧頂元素

4,push() 和 emplace()

這兩個函式都是在棧頂新增乙個元素。

刪除最頂部的元素

注意:對乙個空棧進行pop(),會導致程式異常終止,應該使用empty提前檢查

6,swap()

交換兩個棧的內容

課程作業五

上次作業我已經將我的乙個類分為了四個類,而且已經進行了 的實現。git傳送門 在四則運算器的計算算式的值的編寫中,我用到了棧。下面是我所學到的一些知識。棧是一種特殊的線性表,只能從固定的方向進出,而且棧進出的基本原則是 先進棧的元素後出棧。它按照先進後出的原則儲存資料,先進入的資料被壓入棧底,最後的...

課程作業五

提供本次作業的github鏈結 對棧的知識學習探索 概念很簡單,棧 stack 是一種後進先出的資料結構。棧的實現 棧是一種後進先出的資料結構,對於stack 我們希望至少要對外提供以下幾個方法 stack 建立乙個空的棧 void push t s 往棧中新增乙個新的元素 t pop 移除並返回最...

課程作業五

本次作業要求將程式寫成.cpp和.h分離的形式。根據設計的類圖進行編碼,搭建主體框架。上一次作業裡已經將類的 歸類,這次將分散的 整理成乙個完整的 體。head 對棧的知識學習探索 我是在四則運算的基礎上進行棧的應用.四則運算裡主要明白前 中 字尾表示式的轉換.四則運算的運用可分為兩類 將中綴表示式...