大量随机数据做测试:
#include <iostream>
#include <vector>
#include <cstdlib>
#include <algorithm>
#include <cassert>
#include <ctime>
using namespace std;
void fill_random_int (vector<int> &v, int cnt)
{
v.clear();
for(int i = 0 ; i < cnt ; i++)
v.push_back(rand());
}
vector<int> fill_random_int(int cnt)
{
vector<int> v;
for(int i= 0 ; i < cnt ; i++)
v.push_back(rand());
return v;
}///这样写会出现不必要的局部变量,应该选择上面方法
void test_sort(vector<int> &v)
{
sort(v.begin(),v.end());
for(int i = 0; i < v.size() - 1; i++)
assert(v[i] <= v[i + 1]);
}//assert(表达式)表达式为假时强行终止程序,并给出错误;
int main()
{
vector<int> v;
fill_random_int(v, 1000000);//sort给100000个数据排序不需要时间
test_sort(v);
srand(time(NULL));//如果不调用相当于每次系统调用srand(1)也就是每次用同一套随机种子
for(int i= 0 ; i < 10 ; i++)
cout << rand() << endl;
return 0;
}