কম্পিউটার

BogoSort বা Permutation Sort এর জন্য C++ প্রোগ্রাম?


Bogosort সহজভাবে একটি সংগ্রহ এলোমেলোভাবে পরিবর্তন করে যতক্ষণ না এটি সাজানো হয়। BogoSort হল একটি অকার্যকর অ্যালগরিদম ভিত্তিক পারমুটেশন এবং কম্বিনেশন তাই এটি পারমুটেশন সর্ট নামে পরিচিত। BogoSort হল খুবই ফ্লপ সাজানোর কৌশল যা শটগান সর্ট, স্টুপিড সর্ট, বাঁদর বাছাই বা স্লো সর্ট নামেও পরিচিত। . অ্যালগরিদম পর্যায়ক্রমে তার ইনপুটটির পারমুটেশন তৈরি করে যতক্ষণ না এটি সাজানো একটি খুঁজে পায়।

Input - 53421
Output - 12345

ব্যাখ্যা

বোগোসর্ট অ্যারেতে অ্যারের উপাদানগুলি ক্রমানুসারে আছে কিনা তা পরীক্ষা করে সাজানো উপাদানগুলি নিয়ে গঠিত হবে, এবং যদি তা না হয়, তাহলে এলোমেলোভাবে উপাদানগুলিকে অদলবদল করে অ্যারের উপাদানগুলির অবস্থান পরিবর্তন করুন এবং অ্যারে সাজানো না হওয়া পর্যন্ত প্রক্রিয়াটি পুনরাবৃত্তি করুন৷ পি>

উদাহরণ

#include <iostream>
#include <stdlib.h>
using namespace std;
int is_sorted(int *arr, int n) {
   while ( --n >= 1 ) {
      if ( arr[n] < arr[n-1] ) {
         return 0;
      }
   }
   return 1;
}
void shuffle(int *arr, int n) {
   int temp, r;
   for(int i=0; i < n; i++) {
      temp = arr[i];
      r = rand() % n;
      arr[i] = arr[r];
      arr[r] = temp;
   }
}
void bogosort(int *arr, int n) {
   while ( !is_sorted(arr, n) ) {
      shuffle(arr, n);
   }
}
int main() {
   int arr[] = { 5, 3, 4, 2, 1 };
   int i;
   bogosort(arr, 5);
   for (i=0; i < 5; i++) {
      cout<< arr[i]<<"\t";
   }
}

  1. বুদবুদ সাজানোর জন্য C++ প্রোগ্রাম

  2. রেডিক্স সাজানোর জন্য C++ প্রোগ্রাম

  3. শেকার সাজানোর জন্য C++ প্রোগ্রাম

  4. BogoSort বা Permutation Sort এর জন্য Python প্রোগ্রাম