直接插入排序的方式是最简单的一种排序方法,是将一个记录插入到一个已经排好序的有序表中,从而得到一个有序表。
每次插入的有序表时,是从最后开始向前找,如果大于当前插入的值,则将这个元素向后移。直到插入的值大于元素。最后将这个值插入。
#include<stdio.h>
#include<stdlib.h>
void insertsort(int array[] , int n )
{
int i ,j ,tmp;
for (i = 1; i < n; i++)
{
tmp = array[i] ;
j = i-1;
while(j>=0 && array[j] > tmp)
{
array[j+1] = array[j];
j--;
}
array[j+1] = tmp;
}
}
int main()
{
int i ;
int a[7] = {49,38,65,97,76,13,27};
insertsort(a,sizeof(a)/sizeof(a[0]));
for(i = 0 ; i < 7 ;i++)
{
printf("%5d",a[i]);
}
}