ต่อไปนี้เป็นโปรแกรม Java สำหรับ Recursice Bubble Sort -
ตัวอย่าง
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("The array after implementing bubble sort is "); System.out.println(Arrays.toString(my_arr)); } }
ผลลัพธ์
The array after implementing bubble sort is [0, 12, 21, 31, 45, 63, 67, 89]
ฟังก์ชันที่ชื่อ 'Demo' มีฟังก์ชันสำหรับการจัดเรียงแบบฟองสบู่ หากความยาวของอาร์เรย์เท่ากับ 1 อาร์เรย์จะถูกส่งคืน มิฉะนั้น อาร์เรย์จะถูกทำซ้ำ และหากองค์ประกอบที่ตำแหน่งแรกมากกว่าองค์ประกอบในตำแหน่งถัดไป องค์ประกอบจะถูกสลับ
หลังจากการผ่านครั้งแรก องค์ประกอบที่ใหญ่ที่สุดจะได้รับการแก้ไข และการเรียงลำดับฟองจะถูกเรียกบนองค์ประกอบทั้งหมดยกเว้นครั้งเดียวที่ใหญ่ที่สุด ในฟังก์ชันหลัก อาร์เรย์จะถูกกำหนดและส่งผ่านเป็นพารามิเตอร์ไปยังฟังก์ชันการจัดเรียงแบบฟอง