直接插入排序

直接插入排序:

时间复杂度: O(n2) 

空间复杂度: O(1)

稳定&简单

#include <stdio.h>

#define swap(x,y) { int tmp; tmp = x; x = y; y = tmp;}
void print_array(int *array, int num) { int i; for(i = 0; i < num; i++) { printf("%d ", array[i]); } printf ("\n"); }
void direct_sort(int *array, int num) { int i, j; for(i = 0; i < num; i++) { for( j = i + 1; j > 0; j--) { if(array[j] < array[j - 1]) { swap(array[j], array[j-1]); } } } } int main() { int array[10] = {2, 5, 8, 3, 1, 7, 9, 6, 0, 4}; direct_sort(array, 10); print_array(array, 10); return 0; }

 

posted @ 2012-12-19 17:01  Arya_yu  阅读(114)  评论(0编辑  收藏  举报