C 學習筆記12

2021-09-25 23:21:35 字數 930 閱讀 4351

全稱為standard template library,由以下六個部分組成

①容器 container,儲存資料

②迭代器 iterator,訪問容器中的元素

③介面卡 adapter,基礎資料結構------>新的資料結構

④演算法 algorithm,對容器元素進行操作

⑤函式物件 functor,對元素進行定製化操作

⑥配置器 allocator,記憶體管理,對使用者透明

線性容器

關聯容器

set

map

set和map的底層實現都是紅黑樹,查詢和刪除的時間複雜度都為o(logn)

此外還有multiset,multimap,允許關鍵字重複,相關操作類似,在此不再贅述

無需關聯容器

底層實現為hash table

unordered_set

unordered_map

priority_queue

利用模板實現堆排序

#include

#include

using namespace std;

template

void

swap

(t &a, t &b)

template>

class heapsort

;void

heapadjust

(int start,

int end)}}

void

sort()

swap

(arr[0]

, arr[_n-1]

);for(i = _n-

1; i >1;

--i)

}private:

t *_arr;

int _n;

};

c 學習筆記12

概念 過載函式呼叫操作符的類,其物件稱為函式物件 函式物件使用過載的 時,行為類似函式呼叫,也叫仿函式 本質 函式物件 仿函式 是乙個類,不是乙個函式 特點 函式物件在使用時,可以像普通函式那樣呼叫,可以有引數,可以有返回值 函式物件超出普通函式的概念,函式物件可以有自己的狀態 函式物件可以作為引數...

C語言學習筆記12

回顧 1.位置指標 作業 1.id判斷 2.根據id顯示人員資訊 預處理指令是c語言支援的一種特殊指令 它們以 做開頭,不以 做結尾 預處理指令在編譯的第乙個階段被處理 所有預處理指令都是把程式變成另外的樣子 gcc可以使用 e選項單獨處理所有預處理指令 define是乙個預處理指令 這個預處理指令...

C 學習筆記12 STL Deque

deque雙端佇列其實就是乙個雙端陣列 deque是雙端佇列,它有vector沒有的功能,push front,在序列頭部新增元素,它的底層設計也不同於vector,deque的底層是用間接索引的方式實現的,如下圖所示 開始的時候map是乙個指標陣列,裡面儲存著若干個指標,但初始的時候只有其中的乙個...