前面给大家介绍过了冒泡排序法、选择排序法等等,下面就来给大家讲一下java直接插入排序法,一起通过文章来进行了解吧。

来看一下基本思想:

将n个有序数存放在数组a中,要插入的数为x,首先确定x插在数组中的位置p,然后将p之后的元素都向后移一个位置,空出a(p),将x放入a(p),这样可实现插入x后仍然有序。

下面来看一个简单的例子:

通过直接插入的方法对例子中的number数组进行排序。

创建一个Test27 类文件,在main()方法中开始编码,实现代码:public static void main(String[] args)

{

int[] number = {

13

, 15

, 24

, 99

, 4

, 1

};

System.out.println("排序前:");

for (int val: number)

{ // 遍历数组元素

System.out.print(val + " "); // 输出数组元素

}

int temp, j;

for (int i = 1; i

{

temp = number[i];

for (j = i - 1; j >= 0 && number[j] > temp; j--)

{

number[j + 1] = number[j];

}

number[j + 1] = temp;

}

System.out.println("\n排序后:");

for (int val: number)

{ // 遍历数组元素

System.out.print(val + " "); // 输出数组元素

}

}

在上面的代码当中,首先在控制台输出number数组中的元素,之后,通过for循环对数组当中的元素进行排序,最后再次输出排序后的元素,最终的输出结果:排序前:

13 15 24 99 4 1

排序后:

1 4 13 15 24 99

你还想了解更多的相关java基础知识吗?请继续来奇Q工具网进行一下了解吧。

推荐阅读:

Java插空排序,Java直接插入排序法详解相关推荐

  1. java 数组升序排序_Java sort()数组排序升序详解

    下面的文章要给大家讲到的就是Java sort()数组排序方面的知识,主要会给大家讲到升序,下面的话就一起来进行一下了解吧. 使用java.util.Arrays类当中的sort()方法对数组进行升序 ...

  2. java 异或 排序_Java的位运算符详解实例——与()、非(~)、或(|)、异或(^)...

    位运算符主要针对二进制,它包括了:"与"."非"."或"."异或".从表面上看似乎有点像逻辑运算符,但逻辑运算符是针对两 ...

  3. java指数表示法_Java指数计数法详解

    Java指数计数法详解 时间:2017-10-16     来源:华清远见Java培训中心 Java指数计数法并不是一个很难的运算,关键是你要理解应用,很多朋友不理解Java指数计数法,所以也无从运用 ...

  4. java的数组与Arrays类源码详解

    java的数组与Arrays类源码详解 java.util.Arrays 类是 JDK 提供的一个工具类,用来处理数组的各种方法,而且每个方法基本上都是静态方法,能直接通过类名Arrays调用. 类的 ...

  5. 单链表的头尾插法详解

    单链表头尾插法详解 头插法构造单链表 代码实现 头插法过程 尾插法构造单链表 代码实现 尾插法过程 单链表头尾插法对比 #include "stdio.h" #include &q ...

  6. Java 11中的新功能和API详解系列1

    Java 11中的新功能和API详解系列1 2018.9.27 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载. JDK 11在语言语法方面有一个小改动,增加了相当数量的新API,以及 ...

  7. java文件流 m.jb51.net_FasfDFS整合Java实现文件上传下载功能实例详解

    今天使用Java代码实现文件的上传和下载.对此作者提供了Java API支持,下载fastdfs-client-java将源码添加到项目中.或者在Maven项目pom.xml文件中添加依赖 org.c ...

  8. java中sleep()、wait()相同与不同详解

    java中sleep().wait()相同与不同详解 相同 java中Thread#sleep和Object#wait方法都是暂停当前线程,当前线程让出CPU占用.并不存在调用sleep后还占用CPU ...

  9. 蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载【2013年(第4届)~2021年(第12届)】

    蓝桥杯 Java B组 省赛决赛模拟赛 详解及小结汇总+题目下载[2013年(第4届)~2021年(第12届)] 百度网盘-CSDN蓝桥杯资料(真题PDF+其它资料)   提取码:6666 2013年 ...

最新文章

  1. 表达式树 java_表达树—构建表达式树、获取表达式(二)
  2. DB2 9 利用开辟(733 测验)认证指南,第 1 部分: 数据库工具与编程步调(6)
  3. 如果你只写CRUD,那这种技术栈你永远碰不到
  4. SpringBoot启动项目时提示:Error:(3, 32) java: 程序包org.springframework.boot不存在
  5. 计算机计算能力共享,服务器计算能力计算器
  6. c语言用指针两个字母交换,c语言指针基础之用指针交换两个数(代码实例)
  7. 中琛源携手台江县积极践行山区青少年体育公益
  8. ASP.NET MVC和jQuery系列一:入门篇
  9. 基于matlab的Guass列主元素消去法
  10. android跳到自带浏览器打开pdf
  11. 挪威议会邮件系统遭遇攻击,电子邮件安全该如何保障?
  12. android 打开短信应用,通过短信打开手机应用
  13. Java面试题-LuceneSolrElasticSearch
  14. 数字源表LIV测试激光器方案
  15. java调用默认打印机,打印小票(80mm)
  16. 【剑指offter】重建二叉树
  17. 信息学奥赛一本通C++语言-----1097:画矩形
  18. 九宫格按键输入c++
  19. Qt信号槽机制-传递自定义数据类型(qRegisterMetaType)
  20. Recurdyn中Subrtine和ProcessNet的dll文件建立

热门文章

  1. Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境【转】
  2. php连接数据库404错误代码,访问编码后的中文URL返回404错误的解决方法,url404_PHP教程...
  3. html当中如何引用js文件
  4. 【转】饭统网倒闭:不创新、不放权就是作死
  5. python的内存管理机制
  6. (限时删)yyds,付费搞来的资源,请低调使用!
  7. 拳头更新服务器不在线,无论你是否喜欢,拳头表示LOL新版客户端都将强制更新!...
  8. 简单的爬取网页基本信息(疫情数据)
  9. 天猫双11爬虫(福利:212万条商品数据免费下载)
  10. 批量备注信息怎么操作