main169.cpp
#include
#include
#include
#include
#include
#include
#include
using namespace std;
static const long MAX=10000;//10000000太大了,改了…
void main169()
{
vector
vector
list
clock_t start0=clock();
for(int i=0;i<MAX;i++)
{
vi0[i]=rand()%100;
//vi[i]=vi0[i];
li.push_back(vi0[i]);
}
clock_t end0=clock();
cout<<”vi0 need “<<(double)(end0-start0)/CLOCKS_PER_SEC<<” to initialize! “<<endl;//2.812
clock_t start1=clock();
sort(vi.begin(),vi.end());//我的电脑是0.661
clock_t end1=clock();
cout<<”vi need “<<(double)(end1-start1)/CLOCKS_PER_SEC<<” to sort! “<<endl;
clock_t start2=clock();
//sort(li.begin(),li.end());//list的排序
li.sort();//list的排序调用是这样子的
clock_t end2=clock();//一开始数组太大,半天没排好
cout<<”li need “<<(double)(end2-start2)/CLOCKS_PER_SEC<<” to sort “<<endl;
//改MAX之后,分别为 0.028 0.006 1.332
clock_t start3=clock();
//copy(li.begin(),li.end(),vi.begin());//不能这样,vi.begin()不是输出迭代器
vector
sort(vi1.begin(),vi1.end());
copy(vi1.begin(),vi1.end(),li.begin());
clock_t end3=clock();//一开始数组太大,半天没排好
cout<<”after this li need “<<(double)(end3-start3)/CLOCKS_PER_SEC<<” to sort !”<<endl;
cin.get();
}
—————————————————————————————————————————————————— //写的错误或者不好的地方请多多指导,可以在下面留言或者给我发邮件,指出我的错误以及不足,以便我修改,更好的分享给大家,谢谢。 转载请注明出处:https://www.royalchen.com/ author:royalchen Email:royalchen@royalchen.com ———————————————————————————————————————————————————
- 本文作者: royalchen
- 本文链接: http://www.royalchen.com/2016/02/24/cprimerplus第六版课后编程题答案169/
- 版权声明: 本博客所有文章除特别声明外,均采用 MIT 许可协议。转载请注明出处!