C++ STL Stack 快速入門
阿新 • • 發佈:2019-01-22
1、STACK
相對來說,STACK是一個比較簡單的容器,它的使用也比較簡單。
STACK是LIFO容器,就是後進先出。最後新增進去的元素,第一個取出來。
2、STACK常用方法
template stack<class T,class Container = deque<T>> class stack
其中T 為型別,container為儲存和訪問元素的型別
empty();//判斷是否為空
push(class T);//棧頂壓入一元素
pop();//彈出棧頂元素
top();//返回棧頂元素
size();//返回棧中元素個數
3 、示例程式碼
#include "stdafx.h" #include <stack> #include <vector> #include <deque> #include <iostream> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { stack<int> stackWithDefaultContainer; stack<int,vector<int>> stackWithVectorContainer; stack<int,deque<int>> stackWithDequeContainer; stackWithDequeContainer.push(10); stackWithDequeContainer.push(11); stackWithVectorContainer.push(0); stackWithVectorContainer.push(1); cout<<"QueueStackSize:"<<stackWithDequeContainer.size()<<endl; cout<<"VectorStackSize"<<stackWithVectorContainer.size()<<endl; for (int index = 0;index<10;index++) { stackWithDefaultContainer.push(index); } cout<<"Start to pop:"<<endl; while (!stackWithDefaultContainer.empty()) { int iOnePopData = stackWithDefaultContainer.top(); cout<<iOnePopData<<" "; stackWithDefaultContainer.pop(); } cout<<endl; cout<<"End"<<endl; }
執行結果
<img src="https://img-blog.csdn.net/20140927125619609?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSGVsbG9fSHdj/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />