zoukankan      html  css  js  c++  java
  • 《算法》插入排序

    使用插入排序将乱序数组进行排序。

      分析:插入排序的思想()

         插入排序的时间复杂度。()

         插入排序的稳定性。

     插入排序的思想:

      插入排序的思想就是将一个元素插入已经排序好的一组数据中,为它在这组已经排序好的数组中找到自己合适的位置;

    code:

      


    //插入排序的思想
    //对于一个元素在一个已经排序好的序列中插入这个元素到一个合适的位置;
    void InsertSort(int*array, int n) //待排序的序列 ,与排序的大小
    {
    int i, j;
    int temp;
    for (i = 1; i < n; i++) //从第二个元素开始插入,为其在前面已经排好的序列中找合适的位置
    {
    //为当前元素选择合适的位置 这个元素标记为temp
    temp = array[i];
    //假设元素是从小到大的排序,那么我们从后面往前面便利。
    for (j = i - 1; j >= 0; j--)
    if (array[j]>temp)
    array[j + 1] = array[j];
    else
    break;
    //找到合适的位置后填充当前值;
    array[j + 1] = temp;
    }
    for (i = 0; i < n; i++)
    cout << array[i] << endl;
    }

  • 相关阅读:
    PAT 天梯赛 L1-002 【递归】
    HDU_2717_Catch That Cow
    Stock Exchange (最大上升子子串)
    Lorenzo Von Matterhorn(map的用法)
    Ignatius and the Princess IV (简单DP,排序)
    投掷硬币(概率dp)
    Find The Multiple (DFS递归)
    24 Game
    棋盘问题
    linux上的文件服务
  • 原文地址:https://www.cnblogs.com/ylllove/p/6056840.html
Copyright © 2011-2022 走看看