java基础小记,冒泡排序demo

package com.cobra.basiclearn;

/**
 * @Author: Baron
 * @Description:
 * 1、第一个数与第二个数对比,如果第一个数大,交换位置;
 * 2、1中得到的数组,第二个与第三个对比,如果第二个数大,交换位置;
 * 3、2得到数组继续往下比较,指到最后一个;
 * 4、第一轮比完,第一个就排到它的最高处;
 * 5、第二轮继续从第一个开始比较
 * 6、总共进行array.length轮排序
 * @Date: Created in 2019/3/25 10:54
 */
public class BubbleSortDemo {

    public static void main(String[] args) {

        int[] array = {16, 2, 3, 5, 9, 7, 1, 123};

        System.out.println("排序前数组为:");

        for (int num: array) {
            System.out.print(num+",");
        }

        int compareCount = 0;
        int moveCount = 0;

        //2、从第一次开始比较
        for (int j = 0; j < array.length-1; j++) {
            //1、第一个开始与后面的比较
            for (int i = 0; i < array.length - 1; i++) {
                compareCount++;
                if (array[i] > array[i + 1]) {
                    int temp = array[i];
                    array[i] = array[i + 1];
                    array[i + 1] = temp;
                    moveCount++;
                }
            }
        }

        System.out.println();

        System.out.println("排序后的数组为:");

        for (int num: array) {
            System.out.print(num+",");
        }
        System.out.println();
        System.out.println("比较的次数:"+ compareCount);
        System.out.println("交换的次数:"+ moveCount);
    }

}

测试:

java基础小记,冒泡排序demo_第1张图片

你可能感兴趣的:(java)