vector容器测试
#include <iostream>
#include <algorithm>
#include <vector>
#include <random>
#include <ctime>
namespace jj02{
using std::cout;
using std::sort;
using std::lower_bound;
using std::vector;
using std::default_random_engine;
using std::uniform_int_distribution;
void test_array(){
cout << "...... TEST vector ......\n";
vector<long> c(500000,0);
default_random_engine e;
uniform_int_distribution<long> u(0,999999);
clock_t timeStart=clock();
for(auto &i:c) { i=u(e); }
cout << "vector拷贝50万long int花费时间:" << (clock()-timeStart) << "\n";
std::cout << "vector.size():" << c.size() << '\n';
timeStart=clock();
sort(c.begin(),c.end());
cout << "排序50万数据的vector花费时间:" << clock()-timeStart << "\n";
timeStart=clock();
auto it = lower_bound(c.begin(),c.end(),452l);
size_t times = clock() - timeStart;
if(it!=c.end()){
cout << "二分查找452(long)花费时间:" << times << "\n";
}
else {cout << "二分查找未找到452(long)花费时间:" << times << "\n";}
cout << "1s=" << CLOCKS_PER_SEC << " clock\n";
}
}
int main()
{
jj02::test_array();
return 0;
}
总结:可以看出我的笔记本计算时间的单位是微秒,vectork<long> 拷贝赋值50w数据花费31.535ms,排序50w数据171.921ms,二分查找花费0.002ms。