插入排序

来源:互联网 发布:python编程(第四版) 编辑:程序博客网 时间:2024/05/16 05:20

插入排序:把后面的元素插入到前面(前面的元素要往后挪一个位置)

代码比较简单,思路也很简单。当部分的子序列已经有一定顺序的时候,插入排序是很快的。

代码:

#include <iostream>using namespace std;void InsertSort(int n, int *array){    int i = 0;    int j = 0;    int k = 0;    for(i = 1/*从第二个元素开始,向前比较*/; i < n; ++i)    {        //k代表当前位置,需要被排序的元素        k = array[i];        for(j = i - 1; j >= 0 && array[j] > k;)        {            //如果k比前面的小,就把序列继续往后挪            array[j + 1] = array[j];            --j;        }        array[j + 1] = k;    }}int main(){    int array[4] = {3, 2, 5, 8};    InsertSort(4, array);    int i = 0;    for(i = 0; i < 4; ++i)    {        cout << array[i] << " ";    }    cout << endl;    return 0;}


0 0