# stack

# 標頭檔

#include<stack>

# 初始化

默認構造器:empty container constructor

stack<type> sk; // 默認構造器

# push && pop

stack 最常用的成員函數,push 在最尾處插入值,及最尾部刪除值
--> FILO (First In Last Out),先入後出的概念

#include<stack>
using namespace std;
int main(){
    stack<int>sk;
    sk.push(10); //{10}
    sk.push(20); //{10,20}
    sk.push(30); //{10,20,30}
    sk.pop();    //{10,20}
    sk.pop();    //{10}
}

# top

stack 取出最前面值的方法,記得 top 只能知道最前面的值不包括刪除工作

#include<stack>
using namespace std;
int main(){
    stack<int>sk;
    sk.push(10);
    sk.push(20);
    sk.top()-=5;
    cout<<"sk.top() is now "<<sk.top()<<'\n';
}

輸出

sk.top() is now 15

# empty

如果 queue 為空, empty 返回 true ;

# size

返回 queue 容器元素個數

# emplace

C++11 的新特性,在幾乎所有的容器中都插入了這一函數,這一函數功能類似於 push , 但是開銷遠小於 push , 它不產生臨時變數

#include <iostream> 
#include <stack>   
#include <string>    
using namespace std;
int main () {
    stack<string> sk;
    sk.emplace ("First sentence");
    sk.emplace ("Second sentence");
    cout << "mystack contains:\n";
    while (!sk.empty()) {
        cout << sk.top() << '\n';
        sk.pop();
    }
}

輸出

mystack contains:
Second sentence
First sentence
更新於 閱讀次數

用實際行動犒賞爆肝的我😀

Zrn Ye LinePay

LinePay