算法速率对比器
#include <iostream>
#include <ctime>
#include <cmath>
using namespace std;
void func1(double a[],int n,double x){
double p=a[0];
for(int i=1;i<=n;i++){
p+=(a[i]*pow(x,i));
}
}
void func2(double a[],int n,double x){
double p=a[n];
for(int i=n;i>0;i--){
p=a[i-1]+p*x;
}
}
//以上两个函数为多项式求和的算法
int main()
{
double a[7]={1,2,3,4,4,5,6};
clock_t start,end;
//clock_t是一个类型,该类型的变量可以储存clock()函数的值
start=clock();
//clock函数记录的是程序开始至运行到clock处所打点的个数
for(int i=0;i<100000000;i++)
func2(a,6,2.0);
//重复调用该函数,使其时间变大,可被探测
end=clock();
cout<<CLK_TCK<<endl;
//CLK_TCK为一个常量,代表一秒内打点个数,不同计算机中数值不同
double dur=(double)(end-start)/CLK_TCK;
cout<<dur;
return 0;
}