stack
容器適配器的數(shù)據(jù)是以LIFO
(Last in First Out, 后進(jìn)先出) 的方式組織的,可以將它想象成放在餐桌上的一摞盤子。#include
和其他序列容器相比,stack
是一類存儲機制簡單、所提供操作較少的容器。如下圖所示,stack 對象僅僅只有7個函數(shù)。
下面是stack
容器可以提供的一套完整操作:
函數(shù)名 | 含義 |
---|---|
top() | 返回一個棧頂元素的引用,類型為T& 。如果棧為空,返回值未定義。 |
push(const T& obj) | 可以將對象副本壓入棧頂。這是通過調(diào)用底層容器的push_back() 函數(shù)完成的。 |
push(T&& obj) | 以移動對象的方式將對象壓入棧頂。這是通過調(diào)用底層容器的有右值引用參數(shù)的push_back() 函數(shù)完成的。 |
pop() | 彈出棧頂元素,不返回任何值。 |
size() | 返回棧中元素的個數(shù)。 |
empty() | 在棧中沒有元素的情況下返回 true。 |
emplace() | 用傳入的參數(shù)調(diào)用構(gòu)造函數(shù),在棧頂生成對象。類似于push() ,比之少調(diào)用一次構(gòu)造函數(shù) |
swap(stack | 將當(dāng)前棧中的元素和參數(shù)中的元素交換。參數(shù)所包含元素的類型必須和當(dāng)前棧的相同。對于 stack 對象有一個特例化的全局函數(shù)swap() 可以使用。 |
完整代碼如下:
#include#include#includeusing namespace std;
int main()
{int tmp=0;
stackstk({0,1,2,3}); // stackstk;
stackstk1({0,1,2,3});
cout<
因為操作比較簡單,所以就不進(jìn)行解釋了。下面是輸出:
3
5 5
4 3
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧