Stack容器介紹

stack的基礎用法,函數參數,典型應用,實現機制
stack:[stæk]
stack([stæk] )堆棧是一種容器適配器,專門設計用於在LIFO(last-in first-out)環境(後進先出)中操作,在該環境中,僅從容器的一端插入和提取元素。
堆棧被實現爲容器適配器,它們是使用特定容器類的封裝對象作爲其基礎容器的類,提供了一組特定的成員函數來訪問其元素。 元素從特定容器的“後部”被推入/彈出,這被稱爲堆棧的頂部
stack原理示意圖

stack理解

stack用法

基礎容器可以是任何標準容器類模板或某些其他專門設計的容器類。 容器應支持以下操作:

成員函數 功能
empty 測試堆棧是否爲空
size 返回堆棧大小
push 在堆棧頂部插入元素,調用底層對象成員push_back
pop 移除堆棧頂部元素,調用底層容器對象成員pop_back
top 返回堆棧頂部的元素即最後插入容器的元素,調用底層容器對象成員back
emplace 在堆棧頂部構造和插入元素,調用底層容器對象成員empalce_back
swap 用新的內容交換容器適配器(*this)的內容。

stack對象的默認構造
stack採用模板類實現,stack對象的默認構造形式:

stack<T> stkT;

stack對象的拷貝構造與賦值

//拷貝構造函數
stack(const stack &stk);
//重載等號操作符
stack& operator=(const stack &stk);
stack<int>stkInt1,stkInt2,stkInt3;
for(int i=0;i<10;i++){
	stkInt1.push(i);
}
stkInt2(stkInt1);
stkInt3 = stkInt2;

stack容器實現

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章