C STL容器總結(史上最全!)

2021-10-23 06:55:59 字數 1685 閱讀 7301

size()  返回元素個數

empty() 返回是否為空

clear() 清空

front()/back()

push_back()/pop_back()

begin()/end()

[ ]支援比較運算,按字典序

first, 第乙個元素

second, 第二個元素

支援比較運算,以first為第一關鍵字,以second為第二關鍵字(字典序)

size()/length()  返回字串長度

empty()

clear()

substr(起始下標,(子串長度)) 返回子串

c_str() 返回字串所在字元陣列的起始位址

size()

empty()

push() 向隊尾插入乙個元素

front() 返回隊頭元素

back() 返回隊尾元素

pop() 彈出隊頭元素

priority_queue< type, container, function >

type:資料型別

container:實現優先佇列的底層容器

function:元素間的比較方式

其中第乙個引數是必要的,當只有乙個引數的時候,預設為最大 堆,每次輸出的堆頂元素是此時堆中的最大元素

時間複雜度 olog(n)

push() 插入乙個元素

top() 返回堆頂元素

pop() 彈出堆頂元素

定義成小根堆的方式:priority_queue, greater> q;

size()

empty()

push() 向棧頂插入乙個元素

top() 返回棧頂元素

pop() 彈出棧頂元素

功能與vector類似,但效率低

size()

empty()

clear()

front()/back()

push_back()/pop_back()

push_front()/pop_front()

begin()/end()

size()

empty()

clear()

begin()/end()

++, -- 返回前驅和後繼,時間複雜度 o(logn)

和上面類似,增刪改查的時間複雜度是 o(1)

不支援 lower_bound()/upper_bound(), 迭代器的++,--

bitset<10000> s;

~, &, |, ^

>>, <<

==, !=

count() 返回有多少個1

any() 判斷是否至少有乙個1

none() 判斷是否全為0

set() 把所有位置成1

set(k, v) 將第k位變成v

reset() 把所有位變成0

flip() 等價於~

flip(k) 把第k位取反

C STL容器總結

三大類容器 1.序列式容器 vector deque list vector是一種動態陣列,在記憶體中具有連續的儲存空間,支援快速隨機訪問。由於具有連續的儲存空間,所以在插入和刪除操作方面,效率比較慢。vector有多個建構函式,預設的建構函式是構造乙個初始長度為0的記憶體空間,且分配的記憶體空間是...

深度學習史上最全總結

1 概述 深度學習 deep learning 這是乙個在近幾年火遍各個領域的詞彙,似乎所有的演算法只要跟它扯上關係,瞬間就顯得高大上起來。但其實,從2006年hinton在science上的 算起,深度學習發展至今才不到十年。在這短短幾年時間裡,深度學習顛覆了語音識別 影象分類 文字理解等眾多領域...

C STL容器總結 序列式

vector容器 vector容器是最簡單的序列式容器,支援隨機訪問,隨機儲存。類似動態陣列,將元素置於動態陣列 vector可以實現佇列,陣列,堆疊的全部的功能 vector定義 vector vec vector函式 size 統計容器元素數量 capacity 返回容器最大可容納的元素數量 r...