排序算法

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





你可能感兴趣的:(排序算法)