欢迎访问宙启技术站
智能推送

编写Java中的冒泡排序函数并实现数组排序

发布时间:2023-06-07 14:58:05

冒泡排序是一种基础的排序算法,是一种简单直观的交换排序。在Java中,我们可以很容易地编写出一个冒泡排序函数来实现数组排序。

具体的实现步骤如下:

1. 首先,我们需要定义一个函数bubbleSort,该函数需要传入一个整型数组作为参数。

public static void bubbleSort(int[] arr) {

}

2. 在该函数中,我们需要嵌套两层循环,外层循环用于控制排序的轮数,内层循环则用于遍历数组并进行元素交换。

public static void bubbleSort(int[] arr) {

    for (int i = 0; i < arr.length - 1; i++) {

        for (int j = 0; j < arr.length - 1 - i; j++) {

        }

    }

}

3. 在内层循环中,我们需要比较相邻的两个元素,如果前一个元素比后一个元素大,则交换它们的位置。

public static void bubbleSort(int[] arr) {

    for (int i = 0; i < arr.length - 1; i++) {

        for (int j = 0; j < arr.length - 1 - i; j++) {

            if (arr[j] > arr[j + 1]) {

                int temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

            }

        }

    }

}

4. 最后,我们需要在函数之外调用该函数,并输出排序后的结果。

public static void main(String[] args) {

    int[] arr = {3, 1, 8, 4, 7, 9, 2, 5, 6};

    bubbleSort(arr);

    for (int i = 0; i < arr.length; i++) {

        System.out.println(arr[i]);

    }

}

完整的冒泡排序函数代码如下:

public static void bubbleSort(int[] arr) {

    for (int i = 0; i < arr.length - 1; i++) {

        for (int j = 0; j < arr.length - 1 - i; j++) {

            if (arr[j] > arr[j + 1]) {

                int temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

            }

        }

    }

}

public static void main(String[] args) {

    int[] arr = {3, 1, 8, 4, 7, 9, 2, 5, 6};

    bubbleSort(arr);

    for (int i = 0; i < arr.length; i++) {

        System.out.println(arr[i]);

    }

}

执行结果如下:

1

2

3

4

5

6

7

8

9

可以看到,该函数已经成功地将给定数组进行了排序。虽然冒泡排序的时间复杂度较高,但是它的原理简单易懂,容易实现。在一些小规模的数据集上,它仍然是一个可行的选择。