c STL 之容器介面卡

2021-09-26 12:58:06 字數 1471 閱讀 4515

容器介面卡是乙個封裝了序列容器的類模版,它在一般序列容器的基礎上提供了一些不同功能。它們可以指定底層序列容器的型別。

標頭檔案#include

特點:乙個預設封裝了deque雙端佇列容器的介面卡類模版,實現的是乙個**先出的壓入棧。

成員函式

作用top()

返回乙個棧頂元素的引用,型別為t& ,如果棧為空,返回值未定義

push()

將乙個物件壓入棧頂

pop()

彈出棧頂元素

size()

返回棧的大小

empty()

棧沒有元素時返回true

emplace()

用傳入的引數呼叫建構函式,直接在棧頂生成物件,就地插入,節省一次複製/移動構造運算

swap(stack& other_stack)

將當前棧中的元素與引數中的元素交換,引數所含元素的型別須與當前棧的型別一致

標頭檔案:#include

特點: 乙個預設封裝了deque雙端佇列容器的介面卡類模版,實現的是乙個先入先出的佇列。可以為他指定乙個符合條件的基礎容器,例如list鍊錶容器。

成員函式

作用front()

返回佇列中第乙個元素的引用

back()

返回佇列中最後乙個元素的引用

push()

在佇列尾部新增乙個元素 ,通過建構函式+複製建構函式,或者建構函式+ 移動建構函式

pop()

刪除佇列中第乙個元素

size()

返回佇列中元素的個數

empty()

判斷佇列是否為空

emplace()

就地在隊尾插入元素,通過一次建構函式,效率高

swap(queue& other_q)

將當前佇列中元素與引數中的元素交換

標頭檔案:#include

特點: 乙個預設封裝了vector向量容器的介面卡類模版,實現的是乙個會對元素排序,確保最大元素總在最前面的佇列。本質的資料結構就是乙個

成員函式

作用top()

返回優先順序佇列中第乙個元素的引用

pop()

移除第乙個元素

push()

在優先順序佇列中插入乙個元素 ,再進行排序在適當的位置,通過建構函式+複製建構函式+排序,或者建構函式+ 移動建構函式+排序

size()

返回優先順序佇列元素的個數

empty()

判斷優先順序佇列是否為空

emplace()

就地插入元素並排序,通過建構函式+排序,效率高

swap(priority_queue& other)

將當前優先順序佇列中元素與引數中的元素交換

C STL 容器介面卡

標準庫提供了三種順序容器介面卡 queue priority queue stack.介面卡是標準庫中通用的 概念,包括容器介面卡 迭代器介面卡和函式介面卡。本質上,介面卡是使一事物的行為類似於另一類事物的行為的一種機制。容器介面卡讓一種已 存在的容器型別採用另一種不同的抽象型別的工作方式實現。例如...

C STL 容器介面卡

1 stack 2 priority queue include 1 基礎介紹 priority queue 優先佇列,其底層是用堆來實現的。模板宣告帶有三個引數 priority queue 其中type為資料型別,container 為儲存資料的容器,functional 為元素比較方式。con...

容器介面卡(棧容器介面卡 佇列容器介面卡)

我們已有的容器 比如vector list 這個容器支援的操作很多,比如插入,刪除,迭代器訪問等等。而我們希望這個容器表現出來的是棧的樣子 先進後出,入棧出棧等等,此時,我們沒有必要重新動手寫乙個新的資料結構,而是把原來的容器重新封裝一下,改變它的介面,就能把它當做棧使用了。c 定義了三種容器介面卡...