STL序列式容器概述

2021-08-01 04:01:32 字數 863 閱讀 7755

stl容器分為序列式和關聯式兩種,序列式容器,其中的元素都可序,但未必有序

(heap內含乙個vector,priority-queue內含乙個heap,stack和queue都內含乙個deque)

1.以vector為底層實現

1.1 vectorvector詳情

- vector維護的是乙個連續線性空間,支援隨機訪問

- 在空間配置時,vector實際配置的大小可能比客戶端需求量更大一些,以備將來可能的擴充

- vector動態增加大小,並不是在原空間之後接續新空間(因為無法保證原空間之後尚有可供配置的空間),而是以原大小的兩倍另外配置一塊較大空間,然後將原內容拷貝過來,才開始在內容之後構造新元素,並釋放原空間

1.2 heap

內含乙個vector,不提供遍歷功能,也不提供迭代器

1.3 priority_queue

2.以list為底層實現

2.1 list

3.以slist為底層實現

3.1 slist

4.以deque為底層實現

4.1 deque

4.2 stack

4.3 queue

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之序列式容器 一 什麼是序列式容器

序列容器以線性序列的方式儲存元素。它沒有對元素進行排序,元素的順序和儲存它們的順序相同。一般來說,有 5 種標準的序列容器,每種容器都具有不同的特性 現在我們來說說序列式容器到底是什麼。所謂序列容器,即以線性排列 類似普通陣列的儲存方式 來儲存某一指定型別 例如 int double 等 的資料,需...