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;
    }
}

上一篇:Delphi Variants-VarIsEmpty、VarIsNull 判断Variant变量是否为空、是否包含Null值


下一篇:【TcaplusDB知识库】PB表C++示例代码-本地索引查询示例