#include<
stack
>:
//棧(stack)是乙個容器介面卡(container adaptor)型別,被特別設計用來執行於lifo(last-in first-out)場景,在該場景中,只能從容器末尾新增(insert)或提取(extract)元素。template
<
classt,
class
container
=deque
<
t>
>
class
stack
;
滿足上述條件的標準容器有
std::vector
、std::deque
及 std::list
,如果未特別指定 stack 的底層容器,標準容器 std::deque 將被使用。
any sequence container supporting operations back(), push_back() and pop_back() can be used to instantiate stack. in particular, vector, list and deque can be used.
成員型別
定義value_type
第乙個模板引數 t
container_type
第二個模板引數 container
size_type
container::size_type
reference
container::reference
const_reference
container::const_reference
(constructor)
建立 stack
(destructor)
釋放 stack
operator=
賦值操作
element access:
top訪問頂部元素
capacity:
empty
判斷是否為空
size
返回有效元素個數
modifiers:
push
在容器頂部插入元素
pop移除容器頂部的元素
emplace
c++11
在容器頂部放置插入元素
swap
交換容器的內容
operator==、operator!=、operator<、operator<=、operator>、operator>=
關係操作符
std::swap
交換兩個棧的內容
STL略談 1 stack實現
最近幾天在看 stl原始碼,個人感覺如果不自己實現下 stl簡單的架構是很難對 stl有乙個比較系統的了解。所以在閱讀的同時,自己也開始寫寫原始碼。一開始從 list 容器入手,因為之前對 list 有一定的了解,實現起來也比較輕鬆。但是涉及到迭代器等資料結構的時候,很難將其與 list 聯絡起來。...
C 容器簡介1 stack
引用鏈結stack是一種容器介面卡 stl的容器分為順序容器和關聯容器,容器介面卡 被設計來用於操作先進後出 filo 結構的情景,在這種情況下,元素的插入和刪除都只能在容器的尾部進行。stack通過容器介面卡來實現,是一種將特定的容器類作為其最底層的容器的類,它提供了一些特定的成員函式來訪問自己的...
我的C 實踐 1 Stack的實現
1 基本的stack 以std deque為內部容器。方法有入棧 出棧 返回棧頂元 判斷棧空。測試程式 2 改進1 指定棧的容量,要用到非型別模板引數。由於棧的容量固定,可以用陣列來存放元素。測試程式 3 改進2 可以指定棧內部使用的容器,還可以使 不同型別的棧之間能賦值。要用到模板模板引數。要定義...