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

使用Java函数对数组进行冒泡排序

发布时间:2023-08-07 12:45:12

冒泡排序是一种基本的排序算法,它的原理是通过重复地交换相邻两个元素,将最大的元素逐渐排到数组的末尾。以下是使用Java函数对数组进行冒泡排序的示例代码:

public class BubbleSort {
    public static void bubbleSort(int[] arr) {
        int n = arr.length;
        
        // 重复n-1次的循环
        for (int i = 0; i < n-1; i++) {
            
            // 每次循环都把最大的元素排到数组最后一位
            for (int j = 0; j < n-i-1; j++) {
                // 如果arr[j]比arr[j+1]大,则交换它们的位置
                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 = {64, 34, 25, 12, 22, 11, 90};
        bubbleSort(arr);
        
        System.out.println("排序后的数组:");
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + " ");
        }
    }
}

在上面的示例代码中,bubbleSort函数接受一个整数数组作为参数,对该数组进行冒泡排序。首先,我们获得数组的长度n,并通过两次嵌套循环来遍历数组。外层的循环控制了重复的次数,而内层的循环用于将最大的元素交换到数组的末尾。内层循环的执行次数是n-i-1,其中i是外层循环的迭代变量。每次循环都比较相邻的两个元素arr[j]和arr[j+1],如果arr[j]大于arr[j+1],则交换它们的位置。这样,每次循环的末尾都会将当前未排序部分的最大元素交换到正确的位置。

在示例代码的main函数中,我们创建一个整数数组arr,并调用bubbleSort函数来对其进行排序。最后,我们使用一个循环来输出排序后的数组。

冒泡排序的时间复杂度是O(n^2),其中n是数组的长度。尽管它的效率不高,但冒泡排序是一种简单易懂的排序算法,适用于小规模的数组排序。