C STL學習筆記九 map映照容器

2021-07-05 19:28:50 字數 847 閱讀 9189

#include

#include

#include

// 基本操作與set類似,牢記map中所有元素都是pair

// 對於自定義類,初學者會覺得比較函式如何構造很麻煩,這個可以參照前面的書寫示例

// 但若設定鍵值為int或char型別,無須構造比較函式

struct student;

struct strcmp

};struct strcmpbig

};int main(),,};

pairp1(4,s[0]);

pairp2(2,s[1]);

pairp3(3,s[2]);

mapa;

a.insert(p1);

a.insert(p2);

a.insert(p3);

// 按照鍵值2、3、4進行排列輸出

for(map::iterator j=a.begin();j!=a.end();j++);

// 為何要採用函式物件的形式,而不只能是函式,這個與c++內部實現機制有關

mapb;

b.insert(q1);

b.insert(q2);

b.insert(q3);

// insert函式的測試,觀察其放回迭代器的值,可改變名字看看,插入位置視實際情況定

// 返回插入元素的迭代器

pairq4(teststu.name,teststu);

map::iterator test=b.insert(b.begin()++,q4);

cout

C STL之map映照容器

map映照容器的元素資料報含兩個部分 乙個鍵值 乙個映照的資料 組成的,鍵值和映照資料之間具有一一對應的關係。map映照容器的資料結構也是採用紅黑樹來實現的,請注意 不允許插入元素的鍵值相同。比較函式所比較的也只是鍵值之間的比較,在檢索的時候,通俗的說查詢的時候,還是通過鍵值進行查詢。map的用法和...

演算法筆記 C STL學習(map的常見用法)

map為對映,可以將任何基本型別對映到任何基本型別,唯一對映 訪問方式 通過下標訪問 include include include using namespace std intmain void 通過迭代器訪問 include include include using namespace st...

C STL 學習筆記

一 stl a include include using namespace std 1 void sort iterator start,iterator end void sort iterator start,iterator end,strictweakordering cmp cmp 函...