/*
* author:lx
* date:2011.09.22
* brief: insertion-sort
*/
#include <stdio.h>
#include <stdlib.h>
void
insertion_sort( int *p, int len )
{
int j = 1;
int key = 0;
int i;
for ( ; j < len; j++ )
{
key = p[j];
i = j - 1;
while ( i >= 0 && p[i] > key )
{
p[i+1] = p[i];
i -= 1;
}
p[ i+1 ] = key;
}
}
int
main( void )
{
int a[9] = { 4, 5, 7, 0, 1, 8 , 11, 123, -1 };
int len = sizeof( a ) / sizeof( int );
insertion_sort( a, len );
int i;
for ( i = 0; i < len; i++ )
printf( "%d\n", a[i] );
exit( 0 );
}