ในการเรียงลำดับแบบบับเบิ้ลจะเปรียบเทียบคู่ที่อยู่ติดกันและสลับคู่หากอยู่ในลำดับที่ไม่ถูกต้อง ในการเรียงลำดับฟองประเภทนี้ เราใช้ฟังก์ชันเรียกซ้ำที่เรียกตัวเองว่า
Input:53421 Output:12345
คำอธิบาย
การใช้ฟังก์ชันเรียกซ้ำ (เรียกตัวเอง) เปรียบเทียบคู่ที่อยู่ติดกันและสลับกันหากอยู่ในลำดับที่ไม่ถูกต้องจนกว่าอาร์เรย์จะอยู่ในลำดับ
ตัวอย่าง
#include <iostream> using namespace std; void bubbleSort(int arr[], int n) { for (int i = 0; i < n - 1; i++) { if (arr[i] > arr[i + 1]) { int temp = arr[i]; arr[i] = arr[i+1]; arr[i+1] = temp; } } if (n - 1 > 1) { bubbleSort(arr, n - 1); } } int main() { int arr[] = { 5,4,2,1,3 }; int n = 5; bubbleSort(arr, n); for (int i = 0; i < n; i++) { cout<< arr[i]<<"\t"; } return 0; }