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 ;
}