কম্পিউটার টিউটোরিয়াল

C++-এ রিকার্সিভ বাবল সর্ট (Recursive Bubble Sort)


এই সেকশনে আমরা বিখ্যাত বাবল সর্ট কৌশলের আরেকটি পদ্ধতি দেখব। আমরা ইতোমধ্যে বাবল সর্ট ইটেরেটিভ পদ্ধতিতে ব্যবহার করেছি। কিন্তু এখানে আমরা বাবল সর্টের রিকার্সিভ পদ্ধতি দেখব। রিকার্সিভ বাবল সর্ট অ্যালগরিদম নিচের মতো দেখায়।

অ্যালগরিদম

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

উদাহরণ

#include<iostream>
using namespace std;
void recBubble(int arr[], int n){
    if (n == 1)
        return;
    for (int i = 0; i < n-1; i++) // প্রতিটি পাস p এর জন্য
        if (arr[i] > arr[i+1]) // যদি বর্তমান এলিমেন্ট পরবর্তীটির চেয়ে বড় হয়
            swap(arr[i], arr[i+1]); // এলিমেন্ট সোয়াপ
    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] << " ";
    }
}

আউটপুট

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

  1. C++ প্রোগ্রাম: সিলেকশন সর্ট বাস্তবায়ন

  2. C++ প্রোগ্রাম: হিপ সর্ট বাস্তবায়ন

  3. C++ প্রোগ্রাম: বাবল সর্ট বাস্তবায়ন

  4. রিকার্সিভ বাবল সোর্টের জন্য জাভা প্রোগ্রাম