插入排序(insertion sort)

来源:互联网 发布:个人怎样加入淘宝直播 编辑:程序博客网 时间:2024/05/07 08:21

插入排序可以说是最简单的排序算法了。
插入排序对数组或子数组做了N - 1次排序,因此时间复杂度为O(N*N)。
对于P = 1次到P= N - 1次,插入排序保证数组位置0到位置P上的元素都为已排序状态。
实现代码如下:

#include<iostream>using namespace std;void InsertionSort(int input[], int n);int main(){        int list[10] = {9, 8, 7, 6, 5, 4, 3, 2, 1, 0};        InsertionSort(list, 10);        for (int i = 0; i < 10; i++)                cout << list[i] << " ";        cout << endl;}void InsertionSort(int input[], int n){        int i, tmp, j;        for (i = 1; i < n; i++)        {                tmp = input[i];                for (j = i; j > 0; j--)                        if (input[j - 1] > tmp)                                input[j] = input[j - 1];                        else                                break;                input[j] = tmp;        }}
0 0