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

C++-এ ককটেইল সর্ট প্রোগ্রাম


ককটেইল সর্ট বাবল সর্টের একটি বৈরিয়েশন যা একটি স্থিতিশীল সর্টিং অ্যালগরিদম এবং একটি তুলনামূলক সর্ট। এটিকে দ্বিমুখী বাবল সর্ট, ককটেইল শেকার সর্ট, শেকার সর্ট (যা সিলেকশন সর্টের একটি ভেরিয়েন্টও হতে পারে), রিপল সর্ট, শাফল সর্ট বা শাটল সর্ট নামে পরিচিত। এই অ্যালগরিদম বাবল সর্ট থেকে আলাদা কারণ এটি প্রতিটি পাসে তালিকার উভয় দিকেই সর্ট করে।

ইনপুট: 53421 আউটপুট: 12345

ব্যাখ্যা

ককটেইল সর্টে অ্যারে অসর্টেড উপাদান নিয়ে গঠিত হয়। ককটেইল সর্ট তালিকার প্রতিটি পাসে উভয় দিকেই কাজ করে। এটি বাবল সর্ট ব্যবহার করে একবার ফরওয়ার্ড এবং একবার ব্যাকওয়ার্ড অ্যারে সর্ট করে।

উদাহরণ

#include <iostream>
using namespace std;
int main() {
    int arr[] = { 5, 3, 4, 2, 1 };
    int m = 5;
    int n, c;
    n = m;
    do {
        for (int i = 0; i < n - 1; i++) {
            if (arr[i] > arr[i + 1]) {
                arr[i] = arr[i] + arr[i + 1];
                arr[i + 1] = arr[i] - arr[i + 1];
                arr[i] = arr[i] - arr[i + 1];
            }
        }
        n = n - 1;
        for (int i = m - 1, c = 0; i >= c; i--) {
            if (arr[i] < arr[i - 1]) {
                arr[i] = arr[i] + arr[i - 1];
                arr[i - 1] = arr[i] - arr[i - 1];
                arr[i] = arr[i] - arr[i - 1];
            }
        }
        c = c + 1;
    } while (n != 0 && c != 0);
    for (int i = 0; i < m; i++) {
        cout << arr[i] << "\t";
    }
}

  1. C প্রোগ্রামিং-এ রেডিক্স সর্ট (Radix Sort)

  2. সি/সি++ প্রোগ্রামে অড-ইভেন সোর্ট (ব্রিক সোর্ট)

  3. বাইসেকশন মেথড (Bisection Method) C++ প্রোগ্রাম

  4. ককটেইল সর্টের পাইথন প্রোগ্রাম