Dotcpp  >  编程教程  >  Java数组  >  Java直接插入排序

Java直接插入排序

点击打开在线编译器,边学边练

直接插入排序是指将一个个待排序的元素插入到前面已经排好序的有序序列中去,直到插完所有元素为止,主要步骤如下:

1)先假设第一个元素已经排好序。

2)然后依次取出还需要进行排序的下一个元素,也就是排序完成的元素后面的下一个元素,取出下一个元素,设为待插入元素,在已经排序的元素序列中从后向前扫描,如果该元素(已排序)大于待插入元素,将该元素移到下一位置。

3)重复步骤2,直到找到已排序的元素小于或者等于待排序元素的位置,插入元素。

4)重复步骤2、步骤3,完成排序。


例如:

import java.util.Arrays;
public class Main {
    public static void main(String args[]) {
        int[] arr = new int[]{17,62,39,52,8,24};
        for(int i=1;i<arr.length;i++) { //从第二个元素开始比较
            int temp = arr[i]; //记录当前元素
            for(int j=i-1;j>=0;j--) { //从最后一个元素开始比较
                if(arr[j]>temp) { //如果比当前元素大
                    arr[j+1] = arr[j]; //从该处往后所有元素向后移动一位
                    arr[j] = temp; //将当前元素插入到arr[j]中
                }
            }
        }
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+" ");
        }
    }
}


运行结果如下:

8 17 24 39 52 62



本文固定URL:https://www.dotcpp.com/course/898

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)