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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

STL系列:关联容器的操作

發布時間:2025/3/21 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STL系列:关联容器的操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在C++ 中定義了幾種類型用來表示容器關鍵字和值的類型。

key_type mapped_type value_type

對于set,由于保存的值就是關鍵字,所以,key_type和value_type是一樣的。set的迭代器是const的!

對于set,find調用返回的是一個迭代器,如果我們所給定的關鍵字在set中的時候,迭代器就指向該關鍵字,否則,find返回尾后迭代器。


在一個map中,元素是鍵值對,即每個元素就是一個pair對象。值得注意的是,key_type是關鍵字類型,value_type是pair類型,

mapped_type才是關鍵字關聯的值的類型!

map<int,string>::key_type v //int map<int,string>::value_type v1 //pair<int,string> map<int,string>::mapped_type v2 //stringset<string>::key_type v3 //string set<string>::value_type v4 //string

關聯容器的查找

對于有序關聯容器 map set

map:? 下標或者find

map<string,int>mapp; mapp["one"] = 1; cout<<mapp["one"]<<endl;

set:

set和map一樣,find調用返回的是一個迭代器,如果我們所給定的關鍵字在set/map中的時候,迭代器就指向該關鍵字,否則,find返回尾后迭代器。

if(mapp.find("one") == mapp.end())cout<<"one is not found !"<<endl;

multimap或者multiset

調用find 返回的是該關鍵字指向的第一個元素(一個關鍵字可能對應于很多的元素值),可以遍歷這些元素值,全部打印輸出。

multimap<string,string>authors; /*導入數據*/ string search_item("yanghang"); auto entries = authors.count(search_item); auto iter = authors.find(search_item); while(entries) {cout<<iter->second<<endl;++iter;--entries; }

?

總結

以上是生活随笔為你收集整理的STL系列:关联容器的操作的全部內容,希望文章能夠幫你解決所遇到的問題。

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