插入排序算法时间复杂度O(n*n),在内嵌生成十万随机数生成下,插入算法在该条件下平均运行时间在7s。
#include <stdio.h>
#include <stdlib.h>
#define LEN 100000 //数据量:十万
void insertSort(int arr[],int len);
int main()
{
int arr[LEN];
int i;
/*生成十万随机数*/
for(i=0;i<LEN;i++)
arr[i]=rand()%1000;
insertSort(arr,LEN);
return 0;
}
/*插入排序算法*/
void insertSort(int arr[],int len)
{
int i,j,key;
for(j=1;j<len;j++)
{
i=j-1;
key=arr[j]; //保存j位置上的值
while(i>=0&&(arr[i]>key))
{
arr[i+1]=arr[i];
i--;
}
i++;
arr[i]=key;
}
}