时间复杂度:n^2
#include <stdio.h>
#include <stdlib.h>
void InsertSort(int num[],int n)
{
int i,j,k;
for(i=1;i<n;i++)//默认第一个是有序的
{
k=num[i];//获取无序的元素
for(j=i-1;j>=0;j--) //在有序队列中从后往前一个个的比
{
if(k>=num[j])//如果k比这个数大,就放在这个数的后面
{
num[j+1]=k;
break;
}
num[j+1]=num[j];//如果k比这个数小,那就把这个数后移
if(j==0)
num[0]=k;
}
}
}
int main()
{
int num[5]= {2,3,1,5,4};
InsertSort(num,5);
for(int i=0; i<5; i++)
{
printf("%d\n",num[i]);
}
return 0;
}