插入排序,在数组中,保证 从位置0 到 p 位置 配上的元素都是已排序状态。每次比较 p+1 位置上的元素和已排序的列表,将 p+1 位置上的元素,加入到已排序的列表中。

/**

* created by Demon, on 2018/9/6

*/

public class InsertSort {

@Test

public void testSort() {

int[] arr = {22, -4, 0, 45, 76, 32, 3, -98};

insertSort(arr);

for (int i : arr) {

System.out.print(i + " ");

}

}

/**

* 插入排序

* @param arr

*/

private void insertSort(int[] arr) {

if (arr.length <= 1) {

return;

}

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

int j;

int tmp = arr[i];

// 当前的数和前面已经排好序的数比较大小

for (j = i; j > 0 && tmp < arr[j - 1]; j--) {

// 如果当前数比前一个位数数小, 前一个位置的数后移一位

arr[j] = arr[j - 1];

}

// 上面j-- 后,比较值,不满足条件,跳出循环,将当前值放置到指定位置

arr[j] = tmp;

}

}

}

运行输出:

-98 -4 0 3 22 32 45 76

java sort 插入排序_插入排序(insertSort)相关推荐

  1. 问题 c: 插入排序_插入排序:它是什么,以及它如何工作

    问题 c: 插入排序 Insertion sort is a simple sorting algorithm for a small number of elements. 插入排序是一种针对少量元 ...

  2. java sort 效率_性能对比:collections.sort vs treeSet sort vs java8 stream.sorted

    0 写在前面的话 在项目中有一个排序问题,考虑到未来需要排序的数据量可能很大,想用一个性能较好的排序算法,现在有三套解决方法:jdk提供的集合的sort方法(Collections.sort).一个可 ...

  3. LeetCode 147. Insertion Sort List 链表插入排序 C++/Java

    LeetCode 147. Insertion Sort List 链表插入排序 C++/Java Sort a linked list using insertion sort. A graphic ...

  4. 第四周 Java语法总结_内部类_常用类_getclass_toStrong_equals_clone_Scanner_String_StringBuffer_Integer_集合_插入排序

    文章目录 20.内部类 1.格式 2.外部类访问内部类 3.局部内部类 4.匿名内部类 1)方法的形式参数是接口 2)关于匿名内部类在开发中的使用 3)方法的返回值是接口或抽象类型 16.常用类 1. ...

  5. java sort 插入排序_Java排序之InsertionSort插入排序的实例

    插入排序 の implementation 插入排序就像打赌的时候,比如双扣.抽牌的时候,一次拿一张牌,这张牌和之前的牌一张张比较.选择把这张牌插入什么位置,排好顺序的位置后打牌更顺.要不然得一个一个 ...

  6. java 插入排序_看动画学算法之:排序-插入排序

    简介 插入排序就是将要排序的元素插入到已经排序的数组中,从而形成一个新的排好序的数组. 这个算法就叫做插入排序. 插入排序的例子 同样的,假如我们有一个数组:29,10,14,37,20,25,44, ...

  7. Java【快速排序、插入排序、简单选择排序...】【八大排序-综合实验】

    目   录 1.快速排序 1.1.概念+举例 1.2.完整代码 2.插入排序 2.1.概念+举例 2.2.完整代码 3.简单选择排序 3.1.概念+举例 3.2.完整代码 4.3种排序-综合代码 4. ...

  8. 过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

  9. c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习

    材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...

最新文章

  1. a-awk外部变量传入,内部变量传出,同时过滤空格及其他字符
  2. Azure实践系列 1:部署和基本配置Azure AD
  3. java 模式匹配算法_用Java匹配模式
  4. DEVICE_ATTR实例分析
  5. 获取3的倍数_获取和设置pdf目录
  6. 看门狗性能软件测试,《看门狗:军团》PC版性能测试 不建议光追,优化极差
  7. php simplexml 删除,请问一下PHP SimpleXML怎么-删除xpath节点
  8. [SCOI2005][BZOJ1085] 骑士精神
  9. moonlight不显示鼠标指针
  10. k2p路由器搭建php,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...
  11. 学习嵌入式必须学习32单片机吗?
  12. 项目集与项目群、项目组合的区别
  13. syslinux制作U盘启动器
  14. idea 修改工作空间
  15. Shiro系列(一)——Shiro + Springboot + JWT 整合
  16. 2u机架式服务器作用,不仅是一款通用的2U机架式服务器还具有足够的扩展力
  17. 周易六十四卦——雷山小过卦
  18. 操作系统原理总结,非科班必看!!!
  19. php上传常见文件类型和$_FILES[file][type]
  20. STC8H8K64U单片机-看门狗配置与讲解

热门文章

  1. php 多城市,thinkphp3.2 一站多城市配置
  2. 'tensorflow' has no attribute 'sub'
  3. 机器视觉专用照明光源
  4. 【整理】Laravel中Eloquent ORM 关联关系的操作
  5. WannaCry反思:传统安全理念遭遇马奇诺防线式溃败
  6. struts2默认action
  7. 通过jQuery EasyUI实现基本的拖放,此为转发!!大家学习讨论
  8. powerdesigner简单使用
  9. Python语言解析xml文件
  10. 《Javascript入门学习全集》 Javascript学习第一季(7)