排序算法三:插入排序

//把每个值,插入到适合他的位置。插入的方法是:它前面的值往后移动。这个算法需要下标为0的位置作为哨兵
#include <stdio.h> void InsertSort(int *L) { int i, j; for (i = 2; i < 11; i++) { if (L[i] < L[i - 1]) { L[0] = L[i]; for (j = i - 1; L[j] > L[0]; j--) { L[j + 1] = L[j]; } L[j + 1] = L[0]; //因为循环最后的j--了 } } } int main() { int L[11] = { -1,3,2,5,6,8,1,9,4,7,0 }; int i = 1; for (; i <= 10; i++) { printf("%d ", L[i]); } printf("\n"); InsertSort(L); for (i = 1; i <= 10; i++) { printf("%d ", L[i]); } printf("\n"); return 0; }

  

posted @ 2016-11-30 18:02  沙加的孩子  阅读(123)  评论(0编辑  收藏  举报