直接插入排序算法

  • 快速排序算法
  • 归并排序算法
  • 直接插入排序算法
  • 堆排序算法
  • 冒泡排序算法
  • 基数排序算法
  • 希尔排序算法
  • 直接选择排序算法

 

直接插入排序算法 

1. 动态演示

直接插入排序算法

2. 示例代码:

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

void insertSort(vector<int> &num)
{
    int len = num.size(), j;
    for (int i = 1; i < len; ++i)
    {
        int key = num[i];
        j = i - 1;
        while (j >= 0 && num[j] > key)
        {
            num[j + 1] = num[j];
            --j;
        }
        num[j + 1] = key;
    }
}

int main()
{
    int n;
    cin >> n;
    vector<int> num;
    int s;
    for (int i = 0; i < n; ++i)
    {
        cin >> s;
        num.push_back(s);
    }
    for (auto c : num)
        cout << c << " ";
    cout << endl;
    insertSort(num);
    for (auto c : num)
        cout << c << " ";
    system("pause");
}