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

Java函数示例:实现冒泡排序算法

发布时间:2023-06-06 16:07:00

冒泡排序算法是一种简单的排序算法,它的基本思想是将待排序的元素两两比较,如果它们的顺序不正确就交换位置,这样一次遍历后最大的元素就会被交换到最后面。然后再从头开始进行相邻元素的比较和交换,直到完成所有元素的排序。

以下是用Java实现冒泡排序算法的示例代码:

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int temp; // 临时变量,用于交换两个元素的值
        boolean isSwap; // 标记是否发生交换
        for (int i = 0; i < arr.length - 1; i++) { // 外层循环控制排序轮数
            isSwap = false; // 每一轮开始前标记为false
            for (int j = 0; j < arr.length - 1 - i; j++) { // 内层循环控制比较和交换次数
                if (arr[j] > arr[j + 1]) { // 如果前一个元素比后一个大,则交换它们的值
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    isSwap = true; // 标记为发生交换
                }
            }
            if (!isSwap) { // 如果没有发生交换,则说明已经排序完成,可以直接退出循环
                break;
            }
        }
    }

    public static void main(String[] args) {
        int[] arr = {10, 5, 8, 6, 2, 3};
        bubbleSort(arr);
        for (int num : arr) {
            System.out.print(num + " ");
        }
    }
}

在上面的示例代码中,bubbleSort方法接收一个整型数组作为参数,使用两层循环来进行冒泡排序。外层循环控制排序轮数,内层循环控制比较和交换次数。每次内层循环结束后,根据是否发生了元素交换来判断是否已经完成排序。

在main方法中,我们定义了一个待排序的数组,然后调用bubbleSort方法进行排序。最后使用for循环来遍历数组,将每个元素输出到控制台上。

以上就是用Java实现冒泡排序算法的示例代码,希望能对大家有所帮助。