算法(入门)-插入排序
来源:互联网 发布:云计算服务提供商 编辑:程序博客网 时间:2024/06/05 06:27
默认算法排序以从小到大的顺序排序
插入排序(算法 第四版):
通常人们整理桥牌的方法是一张一张的来,将每一张牌插入到其他已经有序的牌中的适当位置。在计算机的实现中,为了给要插入的元素腾出空间,我们需要将其余所有元素在插入之前都向右移动一位。这种算法叫做插入排序。
public class InsertSort { public static void sort(int[] a) { for (int i = 1; i < a.length; i++) { //判断j和j前一位的值,j小则换位置,否则换位 for (int j = i; j > 0 && less(a[j], a[j - 1]); j--){ exch(a, j, j - 1); } } } private static void exch(int[] a, int i, int j) { int t = a[i]; a[i] = a[j]; a[j] = t; } private static boolean less(Integer v, Integer w) { return v.compareTo(w) < 0; }}
小结:插入排序从数组的1角标元素开始的,首先1角标元素和0角标元素相比较,1角标元素小则换,否则不换。然后再是2角标和1角标元素比较,2角标元素小则换,换后的1角标再和0角标比较,后面的以此类推,如果数组中只有部分数据是无序的话插入排序是非常快的。
当然,在过去的半个世纪中已经在许多不同类型的计算机上经过了验证。在1980年本书第一版完成之时插入排序就比选择排序快一倍,
阅读全文
0 0
- 算法(入门)-插入排序
- 算法入门--插入排序
- 算法入门之插入排序
- 算法入门之插入排序
- 排序算法入门之插入排序
- 排序算法入门之插入排序
- 排序算法入门之插入排序
- 排序:插入排序(算法)
- 算法---插入排序(直接插入排序)
- 算法导论 第2章 算法入门(直接插入排序、希尔排序、冒泡排序、合并排序)
- 算法-排序-插入排序(直接插入和希尔排序)
- 排序算法--插入排序(直接插入排序)
- 【排序算法】 插入排序 insertion sort(插入类排序)
- 简单排序算法:直接插入排序(插入排序)
- 算法导论(Introduction to Algorithms )— 第二章 算法入门 — 2.1 插入排序
- 算法导论3rd(译)-算法入门(2.1插入排序)
- 算法 - 插入排序(C#)
- 插入排序算法(1)
- Android中的二维码生成与扫描
- 关于python中带下划线的变量和函数的意义
- 【CSS样式层叠表】:position属性|static|absolute|relative|fix|四种控制方式的使用方法
- 如何解决Eclipse在Ubuntu Unity下的图标显示问题
- Unity3D: 修改组件宽高
- 算法(入门)-插入排序
- redis入门基础
- 2017云栖大会Tech Insight亮点大剧透
- Spark 介绍(基于内存计算的大数据并行计算框架)
- 统计学习:正则化与交叉验证
- mysql 基准测试
- 数人云架构师:微服务体系中的K8S&Mesos调度与服务发现
- Nginx的启动(start),停止(stop)命令
- 整理数组去重与数组排序等方法