跳转至

直接插入排序

插入排序的主要思想是:将第一个元素看做有序,从第二个元素起将待排序的元素插入到有序的序列中,使有序的序列逐渐扩大,直到所有元素都插入到有序序列中。

代码

#include<iostream>
using namespace std;
void insertSort(int num[],int n) {
    int temp,j;   //临时变量
    for (int i = 1; i < n; i++) {
        temp = num[i]; j = i - 1;
        while (j >= 0 && temp < num[j]) {
            num[j + 1] = num[j];
            j--;
        }
        num[j + 1] = temp;
    }
}
void main(){
    int num[12] = { 10,6,2,33,15,12,23,76,1,54,22,9 };
    insertSort(num, 12);
    for (auto x : num) {
        cout << x << " ";
    }
    cout << endl;
    system("pause");
}

优化

void insertSort2(int num[], int n) {
    int temp,j;
    for (int i = 1; i < n; i++) {
        temp = num[i]; j = i - 1;
        while (temp < num[j]) {
            num[j + 1] = num[j];
            j--;
        }
        num[j + 1] = temp;
    }
}

本文总阅读量本站访客数人次