#include <time.h>
#include <stdlib.h>
#include<stdio.h>
#define SIZE 100000
int main(void)
{
//分配内存
int randnumber;
int *pt=(int *)malloc(SIZE*sizeof(int));
if(pt==NULL)
{ puts("Fail to allocate memory");
exit(EXIT_FAILURE);
}
//生产随机数
for(int i=0;i<SIZE;i++)
{ randnumber=rand()%SIZE;
pt[i]=randnumber;
}
double time_start=time(0);
//插入排序
for(int i=1;i<SIZE;i++)
{ int key=pt[i];
int j=i-1;
while(j>=0 && pt[j]>key)
{ pt[j+1]=pt[j];
j--;
}
pt[j+1]=key;
}
double time_end=time(0);
//排序的运行时间
printf("Consume:%fs\n",time_end-time_start);
//打印部分排序后的数组
for(int i=0;i<SIZE;i+=SIZE/100)
{ printf("%7d",pt[i]);
if((1000+i)%((SIZE)/10)==0)
putchar('\n');
}
putchar('\n');
free(pt);
}