Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ sắp xếp nổi bọt đệ quy (Recursive Bubble Sort)


Bubble sort so sánh cặp liền kề và hoán đổi nếu sai thứ tự. Phiên bản này dùng hàm đệ quy tự gọi chính nó.

Ví dụ

Input: 5 3 4 2 1 
Output: 1 2 3 4 5

Giải thích

Hàm đệ quy so sánh cặp liền kề, hoán đổi nếu sai thứ tự cho đến khi mảng đã sắp xếp.

Ví dụ mã C++

#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; 
}