冒泡算法

作者: 金馆长说 | 来源:发表于2018-09-19 14:54 被阅读3次

    冒泡排序是排序算法中比较简单的一种,它的排序逻辑就是,依次从0位N位进行排序,首先第一次排序获取到0下标的值,然后在根据这个值对数据元素内的全部值进行依次比对,如果达到条件就交换位置继续比对,直到遍历完元素内的全部值为止。

    算法图解

    1. 第一次比较
    • 可以看到[8,1,2,9,3,7,4]是初始数据,先从0下标的8对元素内的每个元素依次比较,8没有比较是因为自己本身不需要比较所以省略。
    image
    1. 第二次比较
    • 比对完成0下标的8后,依次对1下标的值重复上面的步骤,为了画图方便这里的图片没有考虑第一次已经排序完的值了。
    image
    1. 第N此比较
    • 依次类推对后面的值进行依次重复步骤直到全部遍历完为止

    代码逻辑

    /**
         * 冒泡排序
         */
        private static void maoPao() {
            int[] array = new int[]{9, 6, 8, 7, 1, 100, 3, 2, 0, 4};
    
            for (int i = 0; i < array.length; i++) {
    
                for (int j = i + 1; j < array.length; j++) {
                    int temp = 0;
                    int iIndex = array[i];
                    int jIndex = array[j];
                    if (jIndex < iIndex) {
                        temp = iIndex;
                        array[i] = jIndex;
                        array[j] = temp;
                    }
    
                }
            }
    
            //打印
            for (int i : array) {
                System.out.println(i);
    
            }
        }
    

    输出log

    0
    1
    2
    3
    4
    6
    7
    8
    9
    100
    

    相关文章

      网友评论

        本文标题:冒泡算法

        本文链接:https://www.haomeiwen.com/subject/teabnftx.html