Java教程

Java算法(回顾)-插入排序

本文主要是介绍Java算法(回顾)-插入排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import java.util.Arrays;

/**
 * 插入排序
 * 描述:初始将待排数组第一个元素列为已排序数组,下一个元素往已排序数组
 * 插入到相应位置,形成新的已排序数组。循环以上直到完全排序。
 */
public class InsertSort {
    public static void main(String[] args){
        // 待排序数组
        int[] arr = {1, 4, 2, 5, 3, 8};
        // 排序结果
        int[] result = insertSort(arr);
        System.out.print(Arrays.toString(result));
    }
    /**
     * 插入排序
     */
    public static int[] insertSort(int[] arr){
        for(int i = 1; i < arr.length; i++){
            int insertValue = arr[i]; // 待插入值
            int idx = i - 1;
            while(idx >= 0 && insertValue < arr[idx]){ // 待插入值小于当前索引对应值,则当前索引对应值后移
                arr[idx + 1] = arr[idx];
                idx--;
            }
            arr[idx + 1] = insertValue; // 插入
        }
        return arr;
    }
}

这篇关于Java算法(回顾)-插入排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!