插入排序

public class InsertSort {
    public static void swap(int[] array, int i, int j){
        int temp = array[i];
        array[i] = array[j];
        array[j] = temp;
    }
    /**排序*/
    public static void insertSort(int[] array) {
        //首先考虑边界条件
        if(array == null || array.length < 2) {
            return;
        }
        //打扑克牌  手上拿125,来个4,逐个往左比较,插到合适的位置
        for (int i = 1; i < array.length; i ++) {
            int newValueIndex = i;
            while(newValueIndex - 1 >= 0 && array[newValueIndex] < array[newValueIndex - 1]) {
                swap(array,newValueIndex-1,newValueIndex);
                newValueIndex --;
            }
        }
    }
    public static void main(String[] args) {
        //给定一个数组
        int[] array = {5,7,1,3,23,22,53,21,4,66,68,124,8};
        PrintUtil.printIntArray(array);  //5 7 1 3 23 22 53 21 4 66 68 124 8
        insertSort(array);
        PrintUtil.printIntArray(array);  //1 3 4 5 7 8 21 22 23 53 66 68 124
    }

}
posted @   -Lucas  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示