自学内容网 自学内容网

【C++ Primer Plus习题】16.9

大家好,这里是国中之林!
❥前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。有兴趣的可以点点进去看看←

问题:

这里是引用

解答:

#include <iostream>
#include <ctime>
#include <vector>
#include <list>
#include <algorithm>
using namespace std;
const int LENGTH = 1000000;

int main()
{
vector<int>vi0;
srand(time(0));
for (int i = 0; i < LENGTH; i++)
{
vi0.push_back(rand() % 1000);
}
vector<int>vi(vi0);
list<int>li(vi0.begin(), vi0.end());
clock_t time = clock();
sort(vi.begin(), vi.end());
time = clock() - time;
cout << "Time used sort by vector.sort(): ";
cout << (double)(time) / CLOCKS_PER_SEC << " second" << endl;
time = clock();
li.sort();
time = clock() - time;
cout << "Time used sort by list.sort(): ";
cout << (double)(time) / CLOCKS_PER_SEC << " second" << endl;
li.assign(vi0.begin(), vi0.end());
time = clock();
vi.assign(li.begin(), li.end());
sort(vi.begin(), vi.end());
li.assign(vi.begin(), vi.end());
time = clock() - time;
cout << "Time used by generic sort(): ";
cout << (double)(time) / CLOCKS_PER_SEC << " second" << endl;

return 0;
}

运行结果:
在这里插入图片描述

考查点:

  • vector容器
  • list容器
  • sort排序
  • clock_t计时

注意:

  • sort要使用头文件< algorithm >
    在这里插入图片描述
  • 就是用空间换时间,用vector排序然后赋值给list
    在这里插入图片描述

2024年9月19日21:20:34


原文地址:https://blog.csdn.net/qq_74047911/article/details/142370083

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!