给定没有重复,没有排序的80000000~89999999之间的10000000个数,然后开始查找某几个数是否在该数据集合中;
先看看vector的查找性能:
//vector
#include<iostream>
#include<fstream>
#include<vector>
#include<ctime>
using namespace std;
const unsigned int max_count=9999999;
int main()
{
int tmp;
int find_num[]={80000001,80000000,88990105,87664002,89898989,80000003,87360610};//已从集合删掉88990105,87664002,87360610
vector<int> coll;
//以下读取磁盘文件中的数据
ifstream in_ran;
in_ran.open("F:\\gz\\random_phone_reduce.txt",ios::in|ios::_Nocreate);
if(in_ran.fail())
{
cout<<"打开文件失败!"<<endl;
exit(1);
}
time_t start,stop;
start = time(NULL);
for(int i=0;i<max_count;i++)
{
in_ran>>tmp; //从文件中读取数据
coll.push_back(tmp);
}
in_ran.close();
stop = time(NULL);
cout<<"载入数据时间:"<<stop-start<<endl;
vector<int>::