容器介面卡是乙個封裝了序列容器的類模版,它在一般序列容器的基礎上提供了一些不同功能。它們可以指定底層序列容器的型別。
標頭檔案:#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 定義了三種容器介面卡...