JAVASE 小白学习笔记 (13-1)Java中数组排序算法-冒泡排序

1.冒泡排序的概述

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单基础的排序算法。其基本思路是,对于一组要排序的元素列,依次比较相邻的两个数,将比较小的数放在前面,比较大的数放在后面,如此继续,直到比较到最后的两个数,将小数放在前面,大数放在后面,重复步骤,直至全部排序完成。


2.冒泡排序的具体流程

假设待排序序列为 (5,1,4,2,8),如果采用冒泡排序对其进行升序(由小到大)排序,则整个排序过程如下所示:

  1. 第一轮排序,此时整个序列中的元素都位于待排序序列,依次扫描每对相邻的元素,并对顺序不正确的元素对交换位置。
    在这里插入图片描述
    经过第一轮冒泡排序,从待排序序列中找出了最大数 8,并将其放到了待排序序列的尾部,并入已排序序列中。

2.第二轮排序,此时待排序序列只包含前 4 个元素,依次扫描每对相邻元素,对顺序不正确的元素对交换位置。
在这里插入图片描述
可以看到,经过第二轮冒泡排序,从待排序序列中找出了最大数 5,并将其放到了待排序序列的尾部,并入已排序序列中。

3.第三轮排序,此时待排序序列包含前 3 个元素,依次扫描每对相邻元素,对顺序不正确的元素对交换位置。
在这里插入图片描述
经过本轮冒泡排序,从待排序序列中找出了最大数 4,并将其放到了待排序序列的尾部,并入已排序序列中。

4.第四轮排序,此时待排序序列包含前 2 个元素。
在这里插入图片描述
经过本轮冒泡排序,从待排序序列中找出了最大数 2,并将其放到了待排序序列的尾部,并入已排序序列中。这时数组的顺序已经排好了。


3.冒泡排序的代码实现

冒泡排序的代码实现:

import java.util.Arrays;
public class BubleSort {
    
    
    public static void main(String[] args) {
    
    
        int[] arr = {
    
    5, 1, 4, 2, 8};
        for (int j = 0; j < arr.length-1; j++) {
    
    
            for (int i = 0; i < arr.length-j-1; i++) {
    
    
                if (arr[i] > arr[i + 1]) {
    
    
                    int temp = arr[i];
                    arr[i] = arr[i + 1];
                    arr[i + 1] = temp;
                }
            }

        }
        System.out.println(Arrays.toString(arr));

    }
}

猜你喜欢

转载自blog.csdn.net/qq_41537102/article/details/111937292