天天看點

STL學習之stack使用

STL中包含了棧的模闆類,提供了一種符合stack資料類型的FILO(先進後出)的規則的實作,我們可以友善的使用。

構造一個stack的對象,也是需要兩個參數,一個元素類型(必須),一個容器類型(可選),而且和queue一樣,容器類型預設使用的是雙向隊列,dque.

基本使用的方法也不多,甚至比較少。很常見

bool empty();   ---------判斷棧是否為空,空傳回真
size_t size();  ---------傳回棧的大小
void  pop();    ---------棧頂元素出棧
//一下的方法都有基于const和非const的方法
reference top();---------讀取棧頂元素,傳回棧頂元素
void  push(x);   ---------入棧
           

棧的實作在頭檔案 #include < stack >中,使用的時候包含即可

#include<iostream>
#include<stack>
using namespace std;

int main()
{
    stack<int> mystack;
    //入棧 
    mystack.push();
    mystack.push();
    mystack.push();
    cout<<"入棧後的大小:"<<mystack.size()<<endl;
    int data;
    data = mystack.top();
    mystack.pop();
    cout<<data<<"->出棧"<<endl; 
    data = mystack.top();
    mystack.pop();
    cout<<data<<"->出棧"<<endl; 
    data = mystack.top();
    mystack.pop();
    cout<<data<<"->出棧"<<endl; 
    cout<<"出棧後的大小:"<<mystack.size()<<endl;
 return ;

}
           
STL學習之stack使用