插入排序法
- 基本原理
从第二个数开始,对每个数从后往前依次与它之前的数进行比较,以此来找到它应该插入的位置,找到位置之后,对所有元素后移一位,然后将它插入到它应该所在的位置,循环后完成排序。
具体代码如下:
//直接插入排序(从小到大)
#include<stdio.h>
int main()
{
int a[10]= {
3,8,7,0,9,2,1,6,5,4};
int i,j,temp;
for(i=1; i<10; i++)
{
temp=a[i];
for(j=i-1; j>=0&&temp<a[j]; j--)//从后往前依次比较寻找插入位置
a[j+1]=a[j];//所有元素后移一位
a[j+1]=temp; //插入元素//为什么是j+1?因为在循环中减了个1,所以这里+1才是真正要插入的位置
}
for(i=0; i<10; i++)
printf("%d ",a[i]);
return 0;
}