Dưới đây là chương trình Java cho Bubble Sort đệ quy:
Ví dụ
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("Mảng sau khi thực hiện bubble sort: ");
System.out.println(Arrays.toString(my_arr));
}
}
Kết quả
Mảng sau khi thực hiện bubble sort là [0, 12, 21, 31, 45, 63, 67, 89]
Hàm Demo chứa hàm thực hiện bubble sort. Nếu độ dài mảng là 1, mảng được trả về. Ngược lại, mảng được duyệt qua và nếu phần tử ở vị trí đầu lớn hơn phần tử ở vị trí tiếp theo, các phần tử được hoán đổi.
Sau lần duyệt đầu tiên, phần tử lớn nhất đã được cố định, và bubble sort được gọi trên tất cả các phần tử trừ phần tử lớn nhất đó. Trong hàm main, mảng được định nghĩa và truyền làm tham số cho hàm bubble sort.