八大排序算法之插入排序

/* 插入排序
 步骤:
 1、将数组第一个元素看做第一个有序序列,把第二个元素到最后一个元素的每个元素当成是未排序序列
 2、将未排序的元素循环与前面元素比较,插入到适当的位置即可
 
 */
void insertSort(int a[], unsigned length) {
    int i, j, temp;
    for (i = 1; i < length; i ++) {
        for (j = i; j > 0 && a[j] < a[j-1]; j --) {
            temp = a[j];
            a[j] = a[j-1];
            a[j-1] = temp;
        }
    }
    
    printf("插入排序\n");
    for (i = 0; i < length; i ++) {
        printf("%d\n", a[i]);
    }
}

你可能感兴趣的:(八大排序算法之插入排序)