插入排序

复习一下原来学习的排序算法。


#include <iostream>

using namespace std;

void print(int *a,int n) {
    for(int i=0;i<n; ++i) {
        cout<<a[i]<<' ';
    }
    cout<<endl;
}

void InsertSort(int *a,int n) {
    int i,k;
    int x;
    int j = 0;
    for(i=1; i<n; ++i) {
        x = a[i];
        j = 0;
        while(j<i && a[j]<=a[i])
            ++j;
        for(k=i; k>j; --k) {
            a[k] = a[k-1];
        }

        a[j] = x;
        print(a,n);
    }
}

int main(void)
{
    int a[] = {0,4,8,1,5,2,9,3};
    InsertSort(a,8);
}


原文地址:https://www.cnblogs.com/mthoutai/p/6781966.html