map的一些细节
map是關聯式容器,存放key-value,類型自定
map內部以紅黑樹的形式存放數據,所以查找的時候速度快。
map的定義
map < int, string > mpmap賦值
三種數據插入的方式,當map中存在key,insert插入失敗,數組方式會覆蓋原來的值。
// insert函數插入pair數據 map<int, string> mp; mp.insert(pair<int, string>(1, "hello")); // insert函數插入value_type數據 map<int, string> mp; mp.insert(map<int, string>::value_type (1, "hello")); // 數組方式插入 map<int, string> mp; mp[1] = "hello";map的大小
mp.size()
數據的遍歷
for (auto it : mp)cout << it.first << " " << it.second << endl;數據的查找
以前查找數據的時候,都是判斷 mp[key] != 0, 后來做了一道題發現會超內存,有可能也會超時,因為用mp[key] 相當于先插入一個數據,然后初始值為0,所以數據多的時候回超內存或者超時。
以后還是老老實實的用 find 或者 count
map排序
// 按照key升序 map <int, int , less<int>>; // 按照key降序 map<int, int, greater<int>> mi;總結
- 上一篇: 巴什博弈
- 下一篇: 第十一届河南省赛--山区修路