插入排序法思想:将n个数字分为前面几个是有序数字集合,后面几个为无序集合。当然尚未排序之前,可以将n0 看为有序数集合,N1-Nn-1 看为等待排序的无序集合。从N1开始将无序数一个一个插入到有序数集合中,使之再次成为有序数集合,当第Nn-1 个数字插入有序数集合中后。整个n数字集合便成为有序集合。

示例:2,1,8,9,6,3,4,7,5

第一步排序后结果:1,2,8,9,6,3,4,7,5

第二步排序后结果:1,2,8,9,6,3,4,7,5

第三步排序后结果:1,2,8,9,6,3,4,7,5

第四步排序后结果:1,2,6,8,9,3,4,7,5

第五步排序后结果:1,2,3,6,8,9,4,7,5

第六步排序后结果:1,2,3,4,6,8,9,7,5

第七步排序后结果:1,2,3,4,6,7,8,9,5

第八步排序后结果:1,2,3,4,5,6,7,8,9

示列代码:

java 数组排序 插入排序法的更多相关文章

  1. 插入排序法-java案例详解

    /** * 功能:插入排序法 * 基本思想:把n个待排序的元素看成一个有序和无序表,开始时有序表中只包含一个元素, * 无序表中包含有n-1个元素,排序过程中每次从无序表中取出第一个元素,把它的排序码 ...

  2. Java 快速排序法 冒泡排序法 选择排序法 插入排序法

    1.快速排序的原理: 选择一个关键值作为基准值.比基准值小的都在左边序列(一般是无序的),比基准值大的都在右边(一般是无序的). 从后往前比较,用基准值和最后一个值比较,如果比基准值小的交换位置,如果 ...

  3. java基础入门之数组排序冒泡法

    public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main ...

  4. Java温故而知新-插入排序

    插入排序 插入排序的基本思想是将待排序的元素依次插入序列合适的位置,然后将这个位置后面的元素依次向后移动一位 位置1 2 3 4 5 6 序列5 4 2 1 8 3 设第1位为最初始的基础元素,也就是 ...

  5. 选择排序法、冒泡排序法、插入排序法、系统提供的底层sort方法排序之毫秒级比较

    我的代码: package PlaneGame;/** * 选择排序法.冒泡排序法.插入排序法.系统提供的底层sort方法排序之毫秒级比较 * @author Administrator */impo ...

  6. 【排序基础】5、插入排序法 - Insertion Sort

    插入排序法 - Insertion Sort 文章目录 插入排序法 - Insertion Sort 插入排序设计思想 插入排序代码实现 操作:插入排序与选择排序的比较 简单记录-bobo老师的玩转算 ...

  7. PHP--冒泡、选择、插入排序法

    使用php来实现常用三种排序方法: 冒泡.选择.插入中,最优的是插入排序,我就把插入排序的流程画下来了: 插入排序法的流程图: 插入排序的代码: function InsertSort(&$a ...

  8. Java数组排序

    Java数组排序Arrays.sort,以及Comparator接口的用法 有的时候需要对数组里的element进行排序.当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sor ...

  9. c/c++ 算法之快速排序法 冒泡排序法,选择排序法,插入排序法

    本文详细叙述和实现了快速排序算法,冒泡排序 选择排序 插入排序比较简单,原理在这里不再详述,直接用代码进行了实现. 快速排序法(quicksort)是目前所公认最快的排序方法之一(视解题的对象而定), ...

随机推荐

  1. WebSocket群聊与单聊

    一 . WebSocket实现群聊 py文件代码 # py文件 from flask import Flask, render_template, request from geventwebsock ...

  2. codeforces463D

    Gargari and Permutations CodeForces - 463D Gargari got bored to play with the bishops and now, after ...

  3. 使用TCP取样器测试Socket接口

    1 JMeter下载安装 下载地址:JMeter,选择Binaries下面的zip包. 检查java环境,是否安装了jdk或者jre. 解压zip包->找到bin目录下jmeter.bat文件- ...

  4. 高新兴 ME3630-W 4G 模块 Android 平台适配

    2019-04-26 关键字:高新兴 ME3630-W 适配.rk3128 移植 4G 模块 本篇文章系笔者在移植 高新兴物联 ME3630-W 4G 模块到运行着 Android4.4 操作系统的 ...

  5. 题解:LOJ540游戏

    题目描述 小L计划进行n场游戏,每场游戏使用一张地图,小 L 会同时使用三辆车在该地图上完成游戏. 小 L 的赛车有三辆,分别用大写字母 A.B.C 表示.地图是一张无向简单图(没有重边或自环),每次 ...

  6. 用js提取字符串中的某一段字符

    String.prototype.getQuery = function(name){var reg = new RegExp("(^|&)"+ name +"= ...

  7. JS学习笔记Day22

    一.Ajax的概念 (一)Ajax是一种在无需重新加载整个网页(刷新网页)的情况下能够更新部分网页的技术 (二)Ajax的全称是Asynchronous JavaScript and XML,即异步J ...

  8. CTF--web 攻防世界web题 robots backup

    攻防世界web题 robots https://adworld.xctf.org.cn/task/answer?type=web&number=3&grade=0&id=506 ...

  9. 03-oracle中的高级查询

    1.连接查询 1.1 使用连接谓词指定的连接 介绍: 在连接谓词表示形式中,连接条件由比较运算符在WHERE子句中给出,将这种表示形式称为连接谓词表示形式,连接谓词又称为连接条件. 语法: [< ...

  10. docker时间与系统时间同步的问题

    系统是CentOS7,因为开发环境是windows没有这个问题,发布到docker以后当前时间进行比较,发现docker里面用java获取当时间不对,然后查docker的时间少了8个小时. 网上查了很 ...