一、stack簡介
stack是一種先進后出(First In Last Out,FILO)的資料結構,它只有一個出口,stack容器允許新增元素,移除元素,取得堆疊頂元素,但是除了最頂端外,沒有任何其他方法可以存取stack的其他元素,換言之,stack不允許有遍歷行為,
- 有元素推入堆疊的操作稱為:push
- 將元素推出stack的操作稱為pop
stack是簡單地裝飾deque容器而成為另外的一種容器,
include<stack>

二、stack物件的默認構造
stack采用模板類實作, stack物件的默認構造形式: stack
stack <int> stkInt; //一個存放int的stack容器,
stack <float> stkFloat; //一個存放float的stack容器,
stack <string> stkString; //一個存放string的stack容器,
//尖括號內還可以設定指標型別或自定義型別,
三、stack的push()與pop()方法
stack.push(elem); //往堆疊頭添加元素
stack.pop(); //從堆疊頭移除第一個元素
stack<int> stkInt;
stkInt.push(1);
stkInt.push(3);
stkInt.pop();
//此時stkInt存放的元素是1
四、stack物件的拷貝構造與賦值
stack(const stack &stk); //拷貝建構式
stack& operator=(const stack &stk); //多載等號運算子
stack<int> stkIntA;
stkIntA.push(9);
stack<int> stkIntB(stkIntA); //拷貝構造
stack<int> stkIntC;
stkIntC = stkIntA; //賦值
五、stack的資料存取
stack.top(); //回傳最后一個壓入堆疊元素,即堆疊頂元素
stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(7);
stkIntA.push(9);
int iTop = stkIntA.top(); //9
六、stack的大小
stack.empty(); //判斷堆疊是否為空
stack.size(); //回傳堆疊的大小
stack<int> stkIntA;
stkIntA.push(1);
stkIntA.push(3);
if (!stkIntA.empty()){
int iSize = stkIntA.size(); //2
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/252422.html
標籤:C++
下一篇:STL_queue容器
