C++ STL之對映:map
阿新 • • 發佈:2018-12-16
一、簡介
map是STL中的一個關聯容器,用來儲存若干元素,這些元素都是由關鍵值key與對映值value配對組成。
二、map
在map內部,元素按照key值進行排序,排序方式是根據某種明確、嚴格的若排序進行的。
map的所有元素都是pair,pair的第一個元素是key,第二個元素是value
map中的對映值可以通過運算子[]中關聯key直接訪問,用法類似於陣列。
因為map通常是由二叉搜尋樹實現,所以訪問的時間為O(n)
注意: map中的key值是唯一的
map常用函式 |
功能 |
clear() |
清除map中所有函式 |
erase() |
刪除map中指定位置的元素 |
insert() |
在map指定位置新增pair型別元素 |
find() |
獲取指定key值map的迭代器 |
begin() |
map的正向迭代器的起始位置 |
end() |
map的正向迭代器的終點位置 |
簡單演示:
#include <iostream> #include <map> using namespace std; int main() { map<string,string> student; //map<key,value> <map-name> string name,no; while( cin >> name >> no ) { student[name] = no; } map<string,string>::iterator it; for(it = student.begin(); it != student.end(); ++it) { cout << "姓名:" << it->first << " 學號:" << it->second << "\n"; } if( student.count("liang") ) cout << "liang的學號是:" << student["liang"] << endl; cout << "clear前長度為:" << student.size() << endl; student.clear(); cout << "clear後長度為:" << student.size() << endl; return 0; }