0
点赞
收藏
分享

微信扫一扫

【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)


【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)

  • ​​一、分别计算输入数组​​
  • ​​二、根据不同规模的运行时间​​
  • ​​三、源代码(C++)​​

一、分别计算输入数组

大小为n=100,1000,10000,100000,1000000,10000000时的平均运行时间;

二、根据不同规模的运行时间

判断sort()排序算法的运行趋势,判断时间复杂度是否为O(n²)。

【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)_sed


【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)_运行时间_02


【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)_#include_03


【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)_算法_04


【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)_sed_05


【算法】测试C++标准库中sort算法在不同输入规模下的运行时间 并观察其变化趋势(C++源码)_#include_06

三、源代码(C++)

#include "stdafx.h"
#include<iostream>
#include<vector>
#include<algorithm>
#include<ctime>
#include<iomanip>
#include<cstdlib>

using namespace std;

double sum=0;

void average_sort_time(int n)
{
cout<<double(sum)/100<<endl;
}

int main( )
{
int j=100;
int n = 1000;
for(int a=0 ; a<j ; a++)
{
//srand(time(NULL));
vector<int>vec(n);
for(int i = 0 ; i < n; i++)
{
vec[i] = rand() % 101 * 1000;
}
clock_t start_time = clock();
sort(vec.begin(),vec.end());
clock_t elpased_time = clock()-start_time;
cout<<fixed<<setprecision(6);
cout<<"Time elapsed:"<<double(elpased_time)/CLOCKS_PER_SEC<<"second."<<endl;
sum=sum+double(elpased_time)/CLOCKS_PER_SEC;
}
average_sort_time(n);
getchar();
return 0;
}


举报

相关推荐

0 条评论