程序的性能好坏是由其运行时间和空间占用情况决定的,而运行时间是主要的指标。因此设计出新的算法时,根据时间复杂度确定新的算法和传统算法的优劣,此时需要在程序中添加代码段,测试程序运行时间。这里介绍两种测试程序运行时间的方法。
法1:
#include <cstdio>
#include <cstdlib>
#include <time.h>
int main()
{
int a[1000];
double duration;
time_t start, end;
start = clock();
for(int i = 0; i < 1000; i++)
{
a[i] = rand() % 1000;
}
end = clock();
printf("%ld\n", end - start);
duration = (double)(end - start) / CLOCKS_PER_SEC;
printf("%.3f seconds\n", duration);
return 0;
}
法2:
#include <iostream>
#include <cstdlib>
#include <windows.h>
using namespace std;
int main()
{
int a[1000];
DWORD start, end;
start = GetTickCount();
for(int i = 0; i < 1000; i++)
{
a[i] = rand() % 1000;
}
end = GetTickCount() - start;
cout << end << endl;
return 0;
}