下面是代码
#include "stdio.h"
#include "time.h"
#include "Sort.cpp"
#ifndef CLOCK_(CODES,TIMES)
#define CLOCK_(CODES,TIMES) {clock_t start,stop;start=clock();{CODES;}stop=clock(); TIMES=((double)(stop-start))/CLOCKS_PER_SEC;}
#endif
int main(){
int a[]={1,9,5,7,4,2,8,3,5,1,2,2,17,19};
int n=sizeof (a)/sizeof (int);
double ggg;
CLOCK_(BubbleSort(a,0,n-1),ggg);
printf("%f\n",ggg);
for (int i=0;i<n;i++)printf("%d\n",a[i]);
int b[]={1,9,5,7,4,2,8,3,5,1,2,2,17,19};
CLOCK_(BubbleSort(b,0,n-1),ggg);
for (int i=0;i<n;i++)printf("%d\n",a[i]);
printf("%f\n",ggg);
return 0;
}
不管运行多少遍,调用同一个排序方法,第二次调用总比第一次调用排序时间短。这里是冒泡排序,其他排序方法也一样。
这是咋回事啊