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