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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++ 标准库类型 map

發布時間:2025/3/12 c/c++ 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 标准库类型 map 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C++ 標準庫類型 map


一、map 的使用與定義


1、使用 map 類型

標準庫類型 map 就是字典,每個元素是一組鍵值對。使用紅黑樹實現。

  • 關鍵字是互異的,不存在相同的鍵值。
  • map 內部的元素通常按照其 Key 值排序,且排序方式是根據某種明確、嚴格的弱排序標準進行的,這種排序標準是由 map 內部的比較對象(即 map::key_comp)指定的。
#include <map>

2、定義和初始化 map 對象

  • map 是類模板,實例化時必須指定鍵和值的類型。
  • 通常聲明一個空的字典,之后再往里添加元素。
// 聲明一個空的字典,鍵為int,值為string map<intstring> m;// 聲名并初始化map map<intstring> m1({{1, "one"}, {2, "two"}});

二、map 操作


1、map 類成員函數

clear ():清除 map 中所有元素
erase ():刪除 map 中指定的元素
insert ():添加 pair 類型的元素
find ():在 map 中查找元素,返回迭代器
begin():起始位置迭代器
end(): 終點位置迭代器
empty() :如果map為空則返回 true
size():返回map中元素的個數
key_comp() :返回key排序規則的函數


2、實例

#include <map> using namespace std; map<intstring> m;// 插入insert(),三種方式 m.insert(pair<int, string>(1, "one")); m.insert(map<int, string>::value_type (1, "one")); m[1] = "one"// 刪除erase(),三種方式 m.erase("r123"); // 按鍵刪除 m.erase(iter) // 按迭代器刪除 m.erase(m.begin(), m.end()); // 按迭代器范圍刪除// 查找find (),按鍵查找值。有則返回該元素的迭代器,否則返回尾迭代器 // 用first訪問std::pair的第一個成員(Type1),second訪問第二個成員 (Type2) iter = m.find(1); if(iter != m.end())cout<<"Find, the value is"<<iter->second<<endl; elsecout<<"not find"<<endl;// 遍歷map map<intstring>::iterator it = m.begin() for (it; it != m.end(); it++)cout<<it->first<<":"<<it->second<<endl;// map 默認是按key排序的。按值排序如下 #include <algorithm> typedef pair<int, string> PAIR int cmp(const PAIR &x, const PAIR &y) {return x.second > y.second; }sort(m.begin(), m.end(), cmp)

三、unordered_map 的使用與定義


1、使用 unordered_map 類型

與 map 類似。使用哈希表實現,內部元素是無序的。

#include <unordered_map>

2、定義和初始化 unordered_map 對象

// 聲明一個空的unordered_map,鍵為int,值為string unordered_map<intstring> m;// 聲名并初始化unordered_map unordered_map<intstring> m1({{1, "one"}, {2, "two"}});

總結

以上是生活随笔為你收集整理的C++ 标准库类型 map的全部內容,希望文章能夠幫你解決所遇到的問題。

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