#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 map映照容器的元素資料報含兩個部分 乙個鍵值 乙個映照的資料 組成的,鍵值和映照資料之間具有一一對應的關係。map映照容器的資料結構也是採用紅黑樹來實現的,請注意 不允許插入元素的鍵值相同。比較函式所比較的也只是鍵值之間的比較,在檢索的時候,通俗的說查詢的時候,還是通過鍵值進行查詢。map的用法和... map為對映,可以將任何基本型別對映到任何基本型別,唯一對映 訪問方式 通過下標訪問 include include include using namespace std intmain void 通過迭代器訪問 include include include using namespace st... 一 stl a include include using namespace std 1 void sort iterator start,iterator end void sort iterator start,iterator end,strictweakordering cmp cmp 函...C STL之map映照容器
演算法筆記 C STL學習(map的常見用法)
C STL 學習筆記