插入排序(直接插入排序)java代码实现(注释详细 简单易懂)

简介: 插入排序(直接插入排序)java代码实现(注释详细 简单易懂)

直接插入排序算法思想:

以数组为例:

每次从未排序的数组中取出一个,与之前排好序的数组逐一比较大小,并插入到适当位置,直到未排序的数组为空。

时间复杂度O(n2).

java代码(注释写得比较详细,请认真看代码段的注释):

publicvoidtoInsertSort(int []arr) {
for(inti=1; i<arr.length;i++) {      //i是当前数for(intj=i-1 ; j>=0;j--) {      //j是从i-1开始向前移动,并每次与arr[i]判断大小if(arr[i]<arr[j]) {          //如果arr[i]小于arr[j]说明arr[i]当前至少是要插入到arr[j]的前面inttemp=arr[j];
arr[j] =arr[i];
arr[i] =temp;
i=j-1;             //互换后i也要向前移动一位            }
else{
break;              //直到arr[i]比arr[j]大,因为前面从小到大已经排好序,所以没有必要继续向前判断了                              }
        }
    }
}

希尔排序:

当然还有直接插入排序算法的改进算法希尔排序,

目录
相关文章
|
1天前
|
Java 程序员 图形学
程序员教你用代码制作飞翔的小鸟--Java小游戏,正好拿去和给女神一起玩
《飞扬的小鸟》Java实现摘要:使用IntelliJ IDEA和JDK 16开发,包含小鸟类`Bird`,处理小鸟的位置、速度和碰撞检测。代码示例展示小鸟图像的加载、绘制与旋转。同时有`Music`类用于循环播放背景音乐。游戏运行时检查小鸟是否撞到地面、柱子或星星,并实现翅膀煽动效果。简单易懂,可直接复制使用。
|
1天前
|
Java Kotlin
java调用kotlin代码编译报错“找不到符号”的问题
java调用kotlin代码编译报错“找不到符号”的问题
16 10
|
1天前
|
前端开发 Java Spring
Java Web ——MVC基础框架讲解及代码演示(下)
Java Web ——MVC基础框架讲解及代码演示
12 1
|
1天前
|
设计模式 前端开发 网络协议
Java Web ——MVC基础框架讲解及代码演示(上)
Java Web ——MVC基础框架讲解及代码演示
6 0
|
1天前
|
Java
Java的取余如何编写代码
【5月更文挑战第9天】Java的取余如何编写代码
19 5
|
1天前
|
Java
代码实例演示Java字符串与输入流互转
代码实例演示Java字符串与输入流互转
|
1天前
|
存储 安全 Java
掌握8条泛型规则,打造优雅通用的Java代码
掌握8条泛型规则,打造优雅通用的Java代码
掌握8条泛型规则,打造优雅通用的Java代码
|
1天前
|
数据库连接
java+ssm+vue代码视频学习讲解
java+ssm+vue代码视频学习讲解
10 0
|
1天前
|
SQL 缓存 算法
优化你的Java代码:性能调优技巧
优化你的Java代码:性能调优技巧
13 0
|
1天前
|
Java 编译器 程序员
Java一分钟之第一行Java代码:输出"Hello, World!"
【5月更文挑战第7天】本文引导初学者编写运行第一个Java程序——打印&quot;Hello, World!&quot;,介绍基本代码结构及常见问题。包括语法错误(如缺少分号、缩进不规范)、编译运行问题(忘记编译、运行错误)和环境配置问题(JDK未安装、环境变量未设置)。建议检查语法、熟悉编译运行流程并正确安装配置JDK。通过实战演练,从编写到运行,迈出Java编程第一步。
20 0