java数据结构与算法-简单排序-冒泡排序

冒泡排序规则:

java数据结构与算法-简单排序-冒泡排序_第1张图片

示例图,以下图为先排出大的,即从左往右排,与下面的实现代码正好相反。

java数据结构与算法-简单排序-冒泡排序_第2张图片

实现代码如下:

/**
     * 简单排序-冒泡排序
     *
     * @param array
     */
    private void sortSimpleBubble(int[] array) {
        int count = 0;
        int size = array.length;
        for (int i = 0; i < size - 1; i++) {
            for (int j = size - 1; j > i; j--) {//从数组的最右边开始比较,直到最左边,这样循环一次,最左边的就为最小的了。
                count++;
                if (array[j] < array[j - 1]) {
                    swapArray(array, j, j - 1);
                }
            }
        }

        Log.v(TAG, "array值为:" + Arrays.toString(array) + ";count值为:" + count);
    }

   /**
     * 交换俩元素
     * @param array
     * @param m
     * @param n
     */
    private void swapArray(int[] array, int m, int n) {
        int temp = array[m];
        array[m] = array[n];
        array[n] = temp;
    }


调用语句如下:

int[] array=new int[]{3,2,4,1,0,5,7,6,20,15,18,8,12,13,11,9,10,16,17};
sortSimpleBubble(array);


打印日志如下:



源码下载地址:点击打开链接

你可能感兴趣的:(数据结构与算法)