java sort 插入排序_插入排序(insertSort)
插入排序,在数组中,保证 从位置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)相关推荐
- 问题 c: 插入排序_插入排序:它是什么,以及它如何工作
问题 c: 插入排序 Insertion sort is a simple sorting algorithm for a small number of elements. 插入排序是一种针对少量元 ...
- java sort 效率_性能对比:collections.sort vs treeSet sort vs java8 stream.sorted
0 写在前面的话 在项目中有一个排序问题,考虑到未来需要排序的数据量可能很大,想用一个性能较好的排序算法,现在有三套解决方法:jdk提供的集合的sort方法(Collections.sort).一个可 ...
- LeetCode 147. Insertion Sort List 链表插入排序 C++/Java
LeetCode 147. Insertion Sort List 链表插入排序 C++/Java Sort a linked list using insertion sort. A graphic ...
- 第四周 Java语法总结_内部类_常用类_getclass_toStrong_equals_clone_Scanner_String_StringBuffer_Integer_集合_插入排序
文章目录 20.内部类 1.格式 2.外部类访问内部类 3.局部内部类 4.匿名内部类 1)方法的形式参数是接口 2)关于匿名内部类在开发中的使用 3)方法的返回值是接口或抽象类型 16.常用类 1. ...
- java sort 插入排序_Java排序之InsertionSort插入排序的实例
插入排序 の implementation 插入排序就像打赌的时候,比如双扣.抽牌的时候,一次拿一张牌,这张牌和之前的牌一张张比较.选择把这张牌插入什么位置,排好顺序的位置后打牌更顺.要不然得一个一个 ...
- java 插入排序_看动画学算法之:排序-插入排序
简介 插入排序就是将要排序的元素插入到已经排序的数组中,从而形成一个新的排好序的数组. 这个算法就叫做插入排序. 插入排序的例子 同样的,假如我们有一个数组:29,10,14,37,20,25,44, ...
- Java【快速排序、插入排序、简单选择排序...】【八大排序-综合实验】
目 录 1.快速排序 1.1.概念+举例 1.2.完整代码 2.插入排序 2.1.概念+举例 2.2.完整代码 3.简单选择排序 3.1.概念+举例 3.2.完整代码 4.3种排序-综合代码 4. ...
- 过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
- c语言数组项目按身高排序,过三关 Java冒泡排序选择排序插入排序小练习
材料:猴子排序,按照身高来从小到大来排序. 第一关: 老猴子带领小猴子队伍按大小逐一比较,交换,开始高矮排列队伍.(冒泡排序) 第二关: 太慢了,给第一关增加难度,进行选择排序 第三关: 最后,尝试选 ...
最新文章
- a-awk外部变量传入,内部变量传出,同时过滤空格及其他字符
- Azure实践系列 1:部署和基本配置Azure AD
- java 模式匹配算法_用Java匹配模式
- DEVICE_ATTR实例分析
- 获取3的倍数_获取和设置pdf目录
- 看门狗性能软件测试,《看门狗:军团》PC版性能测试 不建议光追,优化极差
- php simplexml 删除,请问一下PHP SimpleXML怎么-删除xpath节点
- [SCOI2005][BZOJ1085] 骑士精神
- moonlight不显示鼠标指针
- k2p路由器搭建php,搭建ngrok服务器!!给k3.k3c.K2.k2p路由器使用!!详细教程!!!...
- 学习嵌入式必须学习32单片机吗?
- 项目集与项目群、项目组合的区别
- syslinux制作U盘启动器
- idea 修改工作空间
- Shiro系列(一)——Shiro + Springboot + JWT 整合
- 2u机架式服务器作用,不仅是一款通用的2U机架式服务器还具有足够的扩展力
- 周易六十四卦——雷山小过卦
- 操作系统原理总结,非科班必看!!!
- php上传常见文件类型和$_FILES[file][type]
- STC8H8K64U单片机-看门狗配置与讲解