插入排序

#include <iostream>
#include <algorithm>
using namespace std;

void insertionSort(int arr[], int n){
    for(int i=1;i<n;i++){
        // 寻找元素arr[i]最佳插入位置
        for(int j=i;j>0 && arr[j]<arr[j-1];j--)
            swap(arr[j], arr[j-1]);
    }
}


int main() {

    int a[10] = {10, 9, 8, 7 ,12};
    insertionSort(a, 5);
    for(int i=0;i<5;i++)
        cout<<a[i]<<" ";

    return 0;
}
#include <iostream>
#include <algorithm>
using namespace std;

void insertionSort(int arr[], int n){
    for(int i=1;i<n;i++){
        // 寻找元素arr[i]最佳插入位置
        int e = arr[i];
        int j; // 保存元素e应该插入的位置
        for(j = i;j>0 && arr[j-1]>e;j--)
            arr[j] = arr[j-1];
        arr[j] = e;
    }
}


int main() {

    int a[10] = {10, 9, 8, 7 ,12};
    insertionSort(a, 5);
    for(int i=0;i<5;i++)
        cout<<a[i]<<" ";

    return 0;
}