यहां हम एक और सॉर्टिंग एल्गोरिदम देखेंगे जिसे बोगो सॉर्ट कहा जाता है। इस प्रकार को क्रमपरिवर्तन सॉर्ट, स्टुपिड सॉर्ट, स्लो सॉर्ट आदि के रूप में भी जाना जाता है। यह सॉर्टिंग एल्गोरिदम विशेष रूप से अप्रभावी सॉर्टिंग तकनीक है। यह जनरेट और टेस्ट प्रतिमान के अंतर्गत आता है। यह क्रमबद्ध होने तक बार-बार क्रमपरिवर्तन उत्पन्न करता है। गर्भाधान बहुत सीधे आगे है। जब तक सूची को क्रमबद्ध नहीं किया जाता है, तब तक केवल तत्वों को फेरबदल करें।
एल्गोरिदम
bogoSort(array, n)
Begin while the arr is not sorted, do shuffle arr done End
उदाहरण
#include<iostream> #include<cstdlib> using namespace std; bool isSorted(int arr[], int n) { //check whether the list is sorted or not while (--n > 1) if (arr[n] < arr[n - 1]) return false; return true; } void shuffle(int arr[], int n) { for (int i = 0; i < n; i++) swap(arr[i], arr[rand() % n]); } void bogoSort(int arr[], int n){ while (!isSorted(arr, n)) shuffle(arr, n); } main() { int data[] = {54, 74, 98, 5, 98, 32, 20, 13, 35, 40}; int n = sizeof(data)/sizeof(data[0]); cout << "Sorted Sequence "; bogoSort(data, n); for(int i = 0; i <n;i++){ cout << data[i] << " "; } }
आउटपुट
Sorted Sequence 5 13 20 32 35 40 54 74 98 98