假设有一组无序序列 R0, R1, ... , RN-1。

(1) 我们先将这个序列中下标为 0 的元素视为元素个数为 1 的有序序列。

(2) 然后,我们要依次把 R1, R2, ... , RN-1 插入到这个有序序列中。所以,我们需要一个外部循环,从下标 1 扫描到 N-1 。

(3) 接下来描述插入过程。假设这是要将 Ri 插入到前面有序的序列中。由前面所述,我们可知,插入Ri时,前 i-1 个数肯定已经是有序了。

所以我们需要将Ri 和R0 ~ Ri-1 进行比较,确定要插入的合适位置。这就需要一个内部循环,我们一般是从后往前比较,即从下标 i-1 开始向 0 进行扫描。

算法实现:

public void insertSort(int[] array){

    for(int i=1;i<array.length;i++){

        if(array[i]<array[i-1]){

            int temp=array[i];

            int k = i - 1;

            for(int j=k;j>=0 && temp<array[j];j--){

                array[j+1]=array[j];

                k--;
} array[k+1]=temp;
}
}
}

参考文章:http://www.cnblogs.com/jingmoxukong/p/4303270.html

////end

最新文章

  1. 第三篇:Entity Framework CodeFirst &amp; Model 映射 续篇 EntityFramework Power Tools 工具使用
  2. 修复 ThinkPHP3.2.3 抛出异常模块的一个BUG,关闭字段缓存功能
  3. 学习Git的总结与体会
  4. Designing for iOS: Graphics &amp; Performance
  5. 初学PHP
  6. Anywhere服务建立及连接步骤
  7. 算法教程(3)zz
  8. Python Paramiko模块安装和使用
  9. PHP 性能分析第二篇: Xhgui In-Depth
  10. Jmeter命令行运行实例讲解
  11. set{变量 = value;}get{return 变量;}
  12. cookie丢失、登陆自动退出问题解决
  13. dubbo Forbid blacklist
  14. less简述
  15. TCP的11种状态
  16. python学习01
  17. Bootstrap modal常用参数、方法和事件
  18. 深入理解java虚拟机---垃圾回收(十一)
  19. easyUi DataGrid 显示日期列,时间为空也可,的正常显示,及普通居中列情况
  20. 大不列颠百科全书Encyclopaedia Britannica Ultimate 2014光盘镜像

热门文章

  1. netstat查看服务器连接数端口并发数
  2. arx代码片段
  3. 12Java Bean
  4. 第一节:重写(new)、覆写(overwrite)、和重载(overload)
  5. 用php生成HTML文件的类
  6. Django-报错解决方法
  7. DemoKit编译过程错误
  8. 玩一玩MEAN
  9. css3的高级而有用且很少人知道的属性和样式
  10. AWR and ADDM