插入排序也是一种简单的排序算法,其做法就是将数据插入到已经排好序的序列中,形成新的有序序列。对于元素数量比较少的待排序序列来说,插入排序是比较高效的。
代码如下:
#include <stdio.h>
#define ARRAY_LEN 10
void array_print(int *array,int array_len);
void insert_sort(int *array,int array_len);
int main(void)
{
int a[ARRAY_LEN] = {1,6,5,8,7,3,2,9,0,4};
insert_sort(a,ARRAY_LEN);
array_print(a,ARRAY_LEN);
return 0;
}
void array_print(int *array,int array_len)
{
int index;
for(index = 0;index < array_len;index++)
{
if(index == array_len - 1)
{
printf("%d\n",array[index]);
}
else
{
printf("%d,",array[index]);
}
}
}
void insert_sort(int *array,int array_len)
{
int in,out,temp;
for(out = 1;out < array_len;out++)
{
temp = array[out];
in = out;
while(in > 0 && array[in - 1] >=temp)
{
array[in] = array[in -1];
in--;
}
array[in] = temp;
}
}