unordered_map、unordered_set用法
unordered_map
列举出几个主要的unordered_map的函数,并用程序列子说明:
1、unordered_map::count
#include "iostream"
#include "vector"
#include "string"
#include "queue"
#include "algorithm"
#include "unordered_map"
using namespace std;
int main(){
unordered_map<string,double>mymap={
{"w",1},{"e",2},{"r",3},{"t",4}
};
string tem[]={"w","s","e","r","t"};
for(int i=0;i<5;i++){
if(mymap.count(tem[i])>0)
cout<<tem[i]<<endl;
}
}
结果为:
w
e
r
t
2、unordered_map::find
查找是否存在
#include <iostream>
#include <string>
#include <unordered_map>
int main ()
{
std::unordered_map<std::string,double> mymap = {
{"mom",5.4},
{"dad",6.1},
{"bro",5.9} };
std::string input;
std::cout << "who? ";
getline (std::cin,input);
std::unordered_map<std::string,double>::const_iterator got = mymap.find (input);
if ( got == mymap.end() )
std::cout << "not found";
else
std::cout << got->first << " is " << got->second;
std::cout << std::endl;
return 0;
}
Possible output:
who? dad
dad is 6.1
3、unordered_map::size
哈希表大小
#include <iostream>
#include <string>
#include <unordered_map>
int main ()
{
std::unordered_map<std::string,double> mymap = {
{"milk",2.30},
{"potatoes",1.90},
{"eggs",0.40}
};
std::cout << "mymap.size() is " << mymap.size() << std::endl;
return 0;
}
Output:
mymap.size() is 3
unordered_set
与上面类似。目前只需掌握掌握这几种函数即可