InsertionSort

 

Java

复制代码
    private static void insertionSort(int[] array) {
        for (int i = 1; i < array.length; ++i) {
            int index = i - 1, mark = array[i];
            while (mark < array[index]) {
                array[index + 1] = array[index];
                index--;
                if (index == -1) {
                    break;
                }
            }
            array[index + 1] = mark;
        }
    }
复制代码

 

复制代码
    private static void insertionSort(int[] array) {
        int index, mark;
        for (int i = 1; i < array.length; i++) {
            index = i - 1;
            mark = array[i];
            while (index >= 0) {
                if (array[index] > mark) {
                    array[index + 1] = array[index];
                } else {
                    // array[index + 1] = mark;
                    // wrong, when mark is the minimum, array[index+1] = mark; is not executed
                    break;
                }
                index--;
            }
            array[index + 1] = mark;
        }
    }
复制代码

 

复制代码
    private static void insertionSort(int[] array) {
        int cursor, key;
        for (int i = 1; i < array.length; ++i) {
            key = array[i];
            for (cursor = i - 1; cursor >= 0; --cursor) {
                if (array[cursor] <= key) {
                    break;
                }
                array[cursor + 1] = array[cursor];
            }
            array[cursor + 1] = key;
        }
    }
复制代码

 

posted @   ascertain  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2020-11-19 Windows上使用win-sshfs将服务器挂载到本地
点击右上角即可分享
微信分享提示