排序算法--插入排序

插入排序基本思想是通过构建有序序列,对于未排序的数据,在已排序的数据中从后往前进行扫描,找到相应的位置插入。

时间复杂度O(n*n),空间复杂度O(1).

具体代码如下:

class Solution
{
    void InsertSort(vector<int> & array)  
    {
          int num = array.size();
          for(int i = 1; i < num; ++i)  //注意插入排序下标从1开始
          {
               int j = i;
               while (j > 0 && array[j] > array[j-1])
               {
                    swap(array[j], array[j-1]);
                    j--;
               }
          }
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 冒泡排序插入排序插入排序和冒泡排序分析 冒泡排序 冒泡排序(英语:Bubble Sort,台湾另外一种译名为:泡沫...
    六尺帐篷阅读 2,205评论 0 9
  • 概述:排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    每天刷两次牙阅读 3,742评论 0 15
  • 概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部...
    蚁前阅读 5,214评论 0 52
  • 概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的...
    Luc_阅读 2,292评论 0 35
  • 除夕夜那天,大家坐在一起吃团圆饭。柔美的灯光,烧透了的温暖的壁炉,嬉笑打闹的胖米和三秋,相亲相爱的棕熊爸爸和鼹鼠妈...
    住在月牙湖的妖怪阅读 204评论 0 0