比较函数的运行时长
#include<iostream> #include<time.h> using namespace std; clock_t strat, stop; double duration; double f1(int n, double a[], double x) { int i; double p = a[0]; for (i = 1; i <= n; i++) p += (a[i] * pow(x, 1)); return p; } double f2(int n, double a[], double x) { int i; double p = a[n]; for (i = n; i > 0; i--) p = a[i - 1] + x * p; return p; } void main() { int i, n = 10000; double a[10]; for (i = 0; i < 10; i++) a[i] = (double)i; strat = clock(); for (i = 0; i < n; i++) f1(10, a, 1.1); stop = clock(); duration = ((double)(stop - strat)) / CLK_TCK; cout << "ticks1 = " << (double)(stop - strat) << endl; cout << "duation1 = " << duration << endl; strat = clock(); for (i = 0; i < n; i++) f2(10, a, 1.1); stop = clock(); duration = ((double)(stop - strat)) / CLK_TCK; cout << "ticks2 = " << (double)(stop - strat) << endl; cout << "duation2 = " << duration << endl; }