插入排序--来自算法导论第10页:
#include<stdio.h>
void sort_insert( int * arr, int length );
int main(void){
int arr[] = {3,1,5,4,7,9,2};
sort_insert(arr,7);
int i = 0;
while( i < 7 ){
printf("%d\n",arr[i]);
i++;
}
return 0;
}
void sort_insert( int * arr, int length ){
int i = 1;
for( i = 1; i < length; i++ ){
int key = arr[i];
int j = i - 1;
while( j >= 0 && arr[j] > key ){
arr[j+1] = arr[j];
j--;
}
arr[j+1] = key;
}
}
原文:http://my.oschina.net/iamhere/blog/529110