c++中map和unordered_map区别
2016-03-24 10:02
483 查看
简单的说,map做插入后是有序的,按照关键字key排序,unordered_map是无序的, 顺序是插入的时候的顺序,但是unordered_map执行效率要比map高很多,所以推荐用unordered_map,下面是测试代码:
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map<string, int> m;
m.insert(make_pair("test5", 20));
m.insert(make_pair("test2", 25));
m.insert(make_pair("test1", 22));
m.insert(make_pair("test3", 22));
m.insert(make_pair("test4", 23));
for (auto iter = m.begin(); iter != m.end(); iter++)
{
cout << iter->first<< "\t" << iter->second << endl;
}
return 0;
}
上面是unordered_map输出:
map:
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <unordered_map>
using namespace std;
int main()
{
map<string, int> m;
m.insert(make_pair("test5", 20));
m.insert(make_pair("test2", 25));
m.insert(make_pair("test1", 22));
m.insert(make_pair("test3", 22));
m.insert(make_pair("test4", 23));
for (auto iter = m.begin(); iter != m.end(); iter++)
{
cout << iter->first<< "\t" << iter->second << endl;
}
return 0;
}
输出:
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <unordered_map>
using namespace std;
int main()
{
unordered_map<string, int> m;
m.insert(make_pair("test5", 20));
m.insert(make_pair("test2", 25));
m.insert(make_pair("test1", 22));
m.insert(make_pair("test3", 22));
m.insert(make_pair("test4", 23));
for (auto iter = m.begin(); iter != m.end(); iter++)
{
cout << iter->first<< "\t" << iter->second << endl;
}
return 0;
}
上面是unordered_map输出:
map:
#include <iostream>
#include <vector>
#include <string>
#include <map>
#include <unordered_map>
using namespace std;
int main()
{
map<string, int> m;
m.insert(make_pair("test5", 20));
m.insert(make_pair("test2", 25));
m.insert(make_pair("test1", 22));
m.insert(make_pair("test3", 22));
m.insert(make_pair("test4", 23));
for (auto iter = m.begin(); iter != m.end(); iter++)
{
cout << iter->first<< "\t" << iter->second << endl;
}
return 0;
}
输出:
相关文章推荐
- Qt_C++交换两个数
- c++中Const,Const函数,Const变量,函数后面的Const
- c++实验2 标准体重
- C++第二次上机实验报告-1
- c++实验2【项目1】标准体重
- C语言中文网_java复习进度
- C++第二次作业
- C++实验2——【项目3】两点距离
- C++作业2
- c++第二次作业1
- c++实验2-标准体重
- C++实验2-标准体重
- C++实验2-标准体重
- 实验:C++实验2-标准体重
- c++第二次作业 标准体重
- c++实验2-标准体重
- C语言实现数组倒置(异或运算)
- c/c++中使用sizeof计算结构体struct和类class的长度(字节)
- c++上机实验3
- C++作业2