Java 一维数组 冒泡排序

冒泡排序

排序算法有多种,常用的排序算法有冒泡排序、插入排序、选择排序、快速排序、堆排 序、归并排序、希尔排序、二叉树排序、计数排序等。在所有的排序算法中,冒泡排序是最重要的一种排序算法。

冒泡排序:假设排序小聪、小美、小黑、小莉、小薇的身高,他们的身高如图所示。冒泡排序的算法是通过对相邻元素的大小进行比较,每一轮将一个最小或最大的数放到队列的最后面,冒泡排序算法如图所示。

                                                                  

                                                                                 五个人的身高
 
                                                      Java 一维数组 冒泡排序_第1张图片
                                                      Java 一维数组 冒泡排序_第2张图片
 

从键盘上输入 5 名学生的身高,使用冒泡排序算法,按照从高到低排序输出每一个学生的身高。

public static void main(String[] args) {
    java.util.Scanner input = new java.util.Scanner(System.in);
    // 存储五个人的身高
    int[] height = new int[5];
    // 循环输入五个人的身高
    for (int i = 0; i < height.length; i++) {
        System.out.println("请输入第" + (i + 1) + "个新兵的身高:");
        height[i] = input.nextInt();
    }
    // 定义临时变量
    int temp;
    // 进行冒泡排序
    for (int i = 0; i < height.length - 1; i++) { // 外循环控制比较多少轮
        for (int j = 0; j < height.length - 1 - i; j++) { // 内循环控制每轮比较多少次
            if (height[j] > height[j + 1]) {
            // 进行两数交换
            temp = height[j];
            height[j] = height[j + 1];
            height[j + 1] = temp;
            } 
        } 
    }
    // 将排序后结果进行输出
    System.out.println("从低到高排序后的输出:");
    for (int i = 0; i < height.length; i++) {
    System.out.println(height[i]);
}

结果如下

Java 一维数组 冒泡排序_第3张图片

 
 
 
 
 
 

你可能感兴趣的:(java)