C++ vector unordered_map速度对比(含迭代器)
下面这段程序是我进行的一个对比实验,数组的维数是3000,重复500000次,统计总耗时(使用Release模式,开启O2优化)。
#include<iostream>
#include<vector>
#include<ctime>
#include<unordered_set>
#pragma GCC optimize(2)
using namespace std;
int main()
{
int vector_size = 3000;
int loop_size = 500000;
int seed = (unsigned)time(NULL);
srand(seed);
int array_a[vector_size];
for(int i = 0; i < vector_size;i++ )
{
array_a[i] = 0;
}
for(int i = 1; i < vector_size; i = i + 10 )
// 有10%的元素为1,90%的元素为0
{
array_a[i] = 1;
}
vector<int> vector_array(vector_size, 0);
unordered_set<int> unordered_array;
for(int i = 0; i < vector_size; i++)
{
vector_array[i] = array_a[i];
if(array_a[i] == 1)
{
unordered_array.insert(i);
}
}
clock_t start_time1 = cloc

最低0.47元/天 解锁文章
1504

被折叠的 条评论
为什么被折叠?



