/**********************************************************
函数功能:插入排序
入口参数: int型数组
返回值: void
作者 : hx
修改日期: 2017.5.1
**********************************************************/
#include<stdio.h>
#define length 10
void insertion_sort(int* a);
int main (void)
{
int a[length]={1,2,4,5,3,7,9,8,0,6};
int i,j;
insertion_sort(a);
for (i=0;i<10;i++)
{
printf("%d ",a[i]);
}
printf("\n");
return 0;
}
void insertion_sort(int* a)
{
int i,j;
int key;
for (j=1;j<length;j++)
{
key=a[j];
i=j-1;
while (i>=0&&key<a[i])
{
a[i+1]=a[i];
i--;
}
a[i+1]=key;
}
}
注:数组a,a就是数组的首地址的指针