Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình C ++ cho Sắp xếp bong bóng đệ quy?

Trong phần này, chúng ta sẽ thấy một cách tiếp cận khác của kỹ thuật sắp xếp bong bóng nổi tiếng. Chúng tôi đã sử dụng sắp xếp bong bóng theo cách lặp đi lặp lại. Nhưng ở đây chúng ta sẽ thấy cách tiếp cận đệ quy của loại bong bóng. Thuật toán sắp xếp bong bóng đệ quy trông như thế này.

Thuật toán

bubbleRec (arr, n)

begin
   if n = 1, return
   for i in range 1 to n-2, do
      if arr[i] > arr[i+1], then
         exchange arr[i] and arr[i+1]
      end if
   done
   bubbleRec(arr, n-1)
end

Ví dụ

#include<iostream>
using namespace std;
void recBubble(int arr[], int n){
   if (n == 1)
      return;
   for (int i=0; i<n-1; i++) //for each pass p
      if (arr[i] > arr[i+1]) //if the current element is greater than next one
   swap(arr[i], arr[i+1]); //swap elements
   recBubble(arr, n-1);
}
main() {
   int data[] = {54, 74, 98, 154, 98, 32, 20, 13, 35, 40};
   int n = sizeof(data)/sizeof(data[0]);
   cout << "Sorted Sequence ";
   recBubble(data, n);
   for(int i = 0; i <n;i++){
      cout << data[i] << " ";
   }
}

Đầu ra

Sorted Sequence 13 20 32 35 40 54 74 98 98 154