插入排序
算法思想:
细心的同学会发现,我们把打扑克牌过程放慢,从获得第一张牌开始接下来我们按照从大到下(小到大)进行排序,我们当前获得一张牌如何在已排好序的的牌中按大小占据合适位置。这就需要依次与之前排好序的扑克牌进行比较,直到找到比之大或比之小的牌我们就将其放置此处。
//插入排序
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a[10]={0,2,1,6,8,7,3,5,4,9};
int i,j,t,l;
for(i=1;i<10;i++)
{
for(j=i;j>0;j--)
{
if(a[j]<a[j-1])
{
t=a[j-1];
a[j-1]=a[j];
a[j]=t;
}
}
}
for(l=0;l<10;l++)
{
printf("%d\n",a[l]);
}
}
算法复杂度:O(n²)
算法空间复杂度:O(1)
算法稳定性:稳定