यह एल्गोरिदम एक ऐरे लेगा और ऐरे की सामग्री को फेरबदल करेगा। यह ऐरे तत्वों का एक रैंडम परम्युटेशन उत्पन्न करेगा।
इस समस्या को हल करने के लिए, हम अंतिम इंडेक्स से शुरू करके ऐरे में रैंडमली उत्पन्न इंडेक्स पर तत्वों को स्वैप करेंगे।
इनपुट और आउटपुट
इनपुट: पूर्णांकों का एक ऐरे: {1, 2, 3, 4, 5, 6, 7, 8}
आउटपुट: ऐरे सामग्री का फेरबदल: 3 4 7 2 6 1 5 8 (अगले रन के लिए आउटपुट भिन्न हो सकता है)एल्गोरिदम
randomArr(array, n)
इनपुट: ऐरे, तत्वों की संख्या।
आउटपुट: ऐरे की सामग्री को फेरबदल करें।
Begin
for i := n - 1 down to 1, do
j := 0 से i तक रैंडम नंबर
swap arr[i] and arr[j]
done
Endउदाहरण (C++)
#include#include #include using namespace std; void display(int array[], int n) { for (int i = 0; i < n; i++) cout << array[i] << " "; } void randomArr(int arr[], int n) { //रैंडम ऐरे तत्व उत्पन्न करें srand(time(NULL)); //अलग सीड मान प्राप्त करने के लिए समय का उपयोग करें for (int i = n-1; i > 0; i--) { int j = rand() % (i+1); //0 से i तक रैंडमली एक इंडेक्स चुनें swap(arr[i], arr[j]); //वर्तमान तत्व को jवें स्थान पर रखे तत्व के साथ स्वैप करें } } int main() { int arr[] = {1, 2, 3, 4, 5, 6, 7, 8}; int n = 8; randomArr(arr, n); display(arr, n); }
आउटपुट
4 7 8 2 6 3 5 1