下面哪幾種是 stl 容器型別()
vector
setmultivector
multiset
array
正確答案:a b d e
c++11 stl中的容器
一、順序容器:
vector:可變大小陣列;
deque:雙端佇列;
list:雙向鍊錶;
forward_list:單向鍊錶;
array:固定大小陣列;
string:與vector相似的容器,但專門用於儲存字元。
二、關聯容器:
按關鍵字有序儲存元素:(底層實現為紅黑樹)
map:關聯陣列;儲存關鍵字-值對;
set:關鍵字即值,即只儲存關鍵字的容器;
multimap:關鍵字可重複的map;
multiset:關鍵字可重複的set;
無序集合:
unordered_map:用雜湊函式組織的map;
unordered_set:用雜湊函式組織的set;
unordered_multimap:雜湊組織的map;關鍵字可以重複出現;
unordered_multiset:雜湊組織的set;關鍵字可以重複出現。
三、其他項:
stack、queue、valarray、bitset
stl中一級容器是指, 容器元素本身是基本型別, 非組合型別。
set, multiset中元素型別是pair
首先 #include<> 和 #include」」 只是最先搜尋的路經不一樣。
#include<> :表示只從從標準庫檔案目錄下搜尋,對於標準庫檔案搜尋效率快。
#include"" :表示首先從使用者工作目錄下開始搜尋,對於自定義檔案搜尋比較快,然後搜尋整個磁碟。
當乙個類a 中沒有宣告任何成員變數與成員函式,這時sizeof(a)的值是多少?
深度探索c++物件模型中是這樣說的:那是被編譯器插進去的乙個char ,使得這個class的不同實體(object)在記憶體中配置獨一無二的位址。也就是說這個char是用來標識類的不同物件的。
C 提高程式設計(2) STL初識
stl大體分為六大元件,分別是 容器 演算法 迭代器 仿函式 介面卡 配接器 空間配置器 容器 各種資料結構,如vector list deque set map等,用來存放資料。演算法 各種常用的演算法,如sort find copy for each等 迭代器 扮演了容器與演算法之間的膠合劑。仿...
C 提高程式設計 2 STL初識
2.1 stl的誕生 長久以來,軟體界一直希望建立一種可重複利用的東西 c 的物件導向和泛型程式設計思想,目的就是提公升 的復用性。大多數情況下,資料結構和演算法都未能有一套標準,導致被迫從事大量重複的工作,為建立一套資料結構和演算法的標準,誕生了stl 2.2 stl基本概念 stl standa...
C 常見面試問題彙總2 STL
vector 底層資料結構為陣列,支援快速隨機訪問。list 底層資料結構為雙向鍊錶,支援快速增刪。deque 底層資料結構為乙個 控制器和多個緩衝區,詳細見stl原始碼剖析p146,支援首尾 中間不能 快速增刪,也支援隨機訪問。stack 底層一般用23實現,封閉頭部即可,不用vector的原因應...