日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

map的一些细节

發布時間:2024/4/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 map的一些细节 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

map是關聯式容器,存放key-value,類型自定
map內部以紅黑樹的形式存放數據,所以查找的時候速度快。

map的定義

map < int, string > mp

map賦值

三種數據插入的方式,當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

// find // 返回迭代器,不存在返回 mp.end() mp.find(key);// count // 存在返回1, 不存在返回0 mp.count(key);

map排序

// 按照key升序 map <int, int , less<int>>; // 按照key降序 map<int, int, greater<int>> mi;

總結

以上是生活随笔為你收集整理的map的一些细节的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。