下面是递归冒泡排序的Java程序
import java.util.Arrays; public class Demo{ static void bubble_sort(int my_arr[], int len_arr){ if (len_arr == 1) return; for (int i=0; i<len_arr-1; i++) if (my_arr[i] > my_arr[i+1]){ int temp = my_arr[i]; my_arr[i] = my_arr[i+1]; my_arr[i+1] = temp; } bubble_sort(my_arr, len_arr-1); } public static void main(String[] args){ int my_arr[] = {45, 67, 89, 31, 63, 0, 21, 12}; bubble_sort(my_arr, my_arr.length); System.out.println("实现冒泡排序后的数组是 "); System.out.println(Arrays.toString(my_arr)); } }
输出结果
实现冒泡排序后的数组是 [0, 12, 21, 31, 45, 63, 67, 89]
一个名为'Demo'的函数包含了执行冒泡排序的函数。如果数组的长度为1,则返回数组。否则,遍历数组,如果第一个位置的元素大于下一个位置的元素,则交换元素。
在第一次遍历之后,最大的元素将被修复,冒泡排序将对除最大元素外的所有元素调用一次。在main函数中,定义了数组,并将其作为参数传递给冒泡排序函数。