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