c 主項練習錯題分析 2 STL容器

2021-07-27 10:29:24 字數 1082 閱讀 3463

下面哪幾種是 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的原因應...