插入排序--来自算法导论第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