STL中的序列式容器 stack(棧)

2021-10-10 00:14:27 字數 707 閱讀 3110

stack,即「棧」。棧是一種後進先出(lifo)的元素序列,訪問和刪除都只能對棧頂的元素(即最後乙個被加入棧的元素)進行,並且元素也只能被新增到棧頂。棧內的元素不能訪問,如果一定要訪問棧內的元素,只能將其上方的元素全部從棧中刪除,使之變成棧頂元素才可以。

stack是c++ stl的乙個重要成員,使用它時需要包含標頭檔案:

#include

;

stack 是容器介面卡的一種,容器介面卡中的資料是以 lifo 的方式組織的。只能訪問 stack 頂部的元素;只有在移除 stack 頂部的元素後,才能訪問下方的元素。

有以下方式,舉例說明如下:

stack<

int> a;

stack<

int>

b(a)

;//拷貝棧a給棧b

列舉如下:

a.

push(5

);//往棧頭新增元素5

a.pop()

;//從棧頭移除第乙個元素

a.top()

;//提取最後乙個壓入棧元素

a.empty()

;//判斷a是否為空,空則返回ture,不空則返回false

a.size()

;//返回a中元素的個數

a=b;

//棧b賦值給棧a

STL 序列式容器細節

stl 序列式容器細節 一 概論 1 序列式容器 array build in c 內建 vector heap內含乙個vector priority queue內含乙個heap list slist deque stack內含乙個deque queue內含乙個deque 2 關聯式容器 rb tr...

STL序列式容器 heap

stl heap主要有以下幾種操作組成 make heap,建堆 sort heap,堆排序 pop heap,取出堆頂元素 push heap,調整堆 heap並不歸屬於stl容器元件,它是個幕後英雄,扮演priority queue的助手。binary max heap適合作為priority ...

STL序列式容器概述

stl容器分為序列式和關聯式兩種,序列式容器,其中的元素都可序,但未必有序 heap內含乙個vector,priority queue內含乙個heap,stack和queue都內含乙個deque 1.以vector為底層實現 1.1 vectorvector詳情 vector維護的是乙個連續線性空間...