直接插入排序

Posted brainstorm-yc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了直接插入排序相关的知识,希望对你有一定的参考价值。

代码

#include<iostream>
#define N 9
/*输出数组*/
void OutPrint(int A[]) {
    int i;
    for (i = 1; i <N; i++)
    {
        printf("%d  ", A[i]);
    }
}
/*插入排序*/
void InsertSort(int A[], int n) {
    int i, j;
    for (i = 2; i <= n; ++i) {
        if (A[i] < A[i - 1]) {
            A[0] = A[i];
            for (j = i - 1; A[0] < A[j]; --j)
                A[j + 1] = A[j];
            A[j + 1] = A[0];
        }
    }
}
int main() {
    int A[N] = {-1,48, 62, 35, 77, 55,14,35,98 };
    printf("排序前数组
");
    OutPrint(A);
    InsertSort(A, N-1);
    printf("
排序后数组
");
    OutPrint(A);
    system("pause");
    return 0;
}

以上是关于直接插入排序的主要内容,如果未能解决你的问题,请参考以下文章

7种基本排序算法的Java实现

直接插入排序 ,折半插入排序 ,简单选择排序, 希尔排序 ,冒泡排序 ,快速排序 ,堆排序 ,归并排序的图示以及代码,十分清楚

排序算法学习(直接插入排序,希尔排序,选择排序,堆排序,冒泡排序)

直接插入折半插入希尔排序

直接插入折半插入希尔排序

直接插入排序算法——Java实现