深圳尚学堂Java培训:排序方法小结-插入排序

createh52个月前 (02-26)技术教程18

插入排序

工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。就是将数组第一个值看做有序的,从后每一个值放进来的时候,找放的位置。这里边就需要一些已经排好的数据可能会整体左移或者右移,所以用插入排序的算法也可以找到新数据存放到有序数组中的位置

用java代码实现:

public static void insertSort(int[] arr) {

//定义循环控制变量

int i, j;

//定义哨兵

int guard;

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

if (arr[i] < arr[i - 1]) {

guard = arr[i];

j = i - 1;

do {

arr[j + 1] = arr[j];

j--;

} while (j != -1 && guard < arr[j]);

arr[j + 1] = guard;

}

}

}

相关文章

Java常用的7大排序算法汇总_java常见的排序算法

这段时间闲了下来,就抽了点时间总结了下java中常用的七大排序算法,希望以后可以回顾!1.插入排序算法插入排序的基本思想是在遍历数组的过程中,假设在序号 i 之前的元素即 [0..i-1] 都已经排好...

八种经典排序算法总结,妈妈再也不用担心我不会了

前言算法和数据结构是一个程序员的内功,所以经常在一些笔试中都会要求手写一些简单的排序算法,以此考验面试者的编程水平。下面我就简单介绍八种常见的排序算法,一起学习一下。一、冒泡排序思路:比较相邻的元素。...

对JAVA中的一维数组的一些见解_java一维数组的定义和使用

在Java中,一维数组是一种用来存储相同数据类型元素的线性数据结构,通过索引访问元素。以下是关于一维数组的基本说明:个人见解,如有错误请指出1. 声明数组数组的声明需要指定数据类型和数组名,格式如下:...

手写快排:教你用Java写出高效排序算法!

#每日读书打卡#大家好!我是小米,一个29岁,积极活泼、喜欢分享技术的程序员。今天我们来聊聊快速排序(QuickSort),一个经典的排序算法,也是许多面试中的常客!快速排序的基本思想快速排序(Qu...

java基础,arrays类,Java的八种排序,冒泡排序

arrays类数组的工具类:java.util.Arraysarrays类都是static方法,使用时可以直接用类调用,而不需要new对象来调用打印数组可以用Arrays.tostring(a):a是...