InsertSort(插入排序)

来源:互联网 发布:网络填表终结者 下载 编辑:程序博客网 时间:2024/06/06 19:48

插入排序

通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入

//平均时间复杂度O(n^2)//最优时间复杂度O(n)//最坏时间复杂度O(n^2)//空间复杂度O(1)//稳定#include <stdio.h>void InsertSort(int a[], int len){    int i, j;    int temp;    for (i = 1; i < len; i++) {        temp = a[i];        j = i - 1;        while (j >= 0 && a[j] > temp) {            a[j + 1] = a[j];            j--;        }        a[j + 1]= temp;    }}int main(){    int a[8];    printf("Please input the number:\n");    for(int i=0;i<8;i++)        scanf("%d",&a[i]);    InsertSort(a, 8);    for (int i=0; i<8; i++) {        printf("%d\n",a[i]);    }    return 0;}