0-1000 মানগুলির সাথে 1001 পূর্ণসংখ্যার অ্যারের সূচনা করুন এবং অ্যারের বর্তমান সর্বাধিক সূচীতে (1000 দিয়ে শুরু) একটি পরিবর্তনশীল, সর্বোচ্চ সেট করুন। 0 এবং সর্বাধিকের মধ্যে একটি এলোমেলো সংখ্যা বাছুন, পজিশন সর্বাধিক সংখ্যার সাথে পজিশন আরে নম্বরটি স্যুপ করুন এবং সর্বাধিক পজিশনে পজিশনটি ফিরিয়ে দিন। 1 দ্বারা সর্বোচ্চ হ্রাস এবং চালিয়ে যান। যখন সর্বোচ্চ 0 হয়, অ্যারের আকারে সর্বাধিক পিছনে সেট করুন - 1 এবং অ্যারেটিকে পুনরায় পুনর্নির্মাণের প্রয়োজন ছাড়াই আবার শুরু করুন।
আপডেট:
যদিও আমি নিজেই এই পদ্ধতিটি নিয়ে এসেছি যখন আমি প্রশ্নের উত্তর দিয়েছিলাম, কিছু গবেষণার পরে আমি বুঝতে পারি এটি ফিশার-ইয়েটসের একটি সংশোধিত সংস্করণ যা ডার্সটেনফিল্ড-ফিশার-ইয়েটস বা নুথ-ফিশার-ইয়েটস নামে পরিচিত। যেহেতু বিবরণটি অনুসরণ করা কিছুটা কঠিন হতে পারে, তাই আমি নীচে একটি উদাহরণ সরবরাহ করেছি (1001 এর পরিবর্তে 11 টি উপাদান ব্যবহার করছি):
অ্যারে থেকে 11 টি উপাদান শুরু করে অ্যারে শুরু হয় [n] = n, সর্বোচ্চ 10 থেকে শুরু হবে:
+--+--+--+--+--+--+--+--+--+--+--+
| 0| 1| 2| 3| 4| 5| 6| 7| 8| 9|10|
+--+--+--+--+--+--+--+--+--+--+--+
^
max
প্রতিটি পুনরাবৃত্তির সময়, 0 এবং সর্বোচ্চের মধ্যে একটি এলোমেলো সংখ্যা আর নির্বাচন করা হয়, অ্যারে [আর] এবং অ্যারে [সর্বাধিক] অদলবদল করা হয়, নতুন অ্যারে [সর্বাধিক] ফিরে আসে এবং সর্বোচ্চ হ্রাস হয়:
max = 10, r = 3
+--------------------+
v v
+--+--+--+--+--+--+--+--+--+--+--+
| 0| 1| 2|10| 4| 5| 6| 7| 8| 9| 3|
+--+--+--+--+--+--+--+--+--+--+--+
max = 9, r = 7
+-----+
v v
+--+--+--+--+--+--+--+--+--+--+--+
| 0| 1| 2|10| 4| 5| 6| 9| 8| 7: 3|
+--+--+--+--+--+--+--+--+--+--+--+
max = 8, r = 1
+--------------------+
v v
+--+--+--+--+--+--+--+--+--+--+--+
| 0| 8| 2|10| 4| 5| 6| 9| 1: 7| 3|
+--+--+--+--+--+--+--+--+--+--+--+
max = 7, r = 5
+-----+
v v
+--+--+--+--+--+--+--+--+--+--+--+
| 0| 8| 2|10| 4| 9| 6| 5: 1| 7| 3|
+--+--+--+--+--+--+--+--+--+--+--+
...
১১ টি পুনরাবৃত্তির পরে অ্যারেতে সমস্ত সংখ্যা নির্বাচন করা হয়েছে, সর্বোচ্চ == 0 এবং অ্যারের উপাদানগুলি পরিবর্তন করা হয়েছে:
+--+--+--+--+--+--+--+--+--+--+--+
| 4|10| 8| 6| 2| 0| 9| 5| 1| 7| 3|
+--+--+--+--+--+--+--+--+--+--+--+
এই মুহুর্তে, সর্বোচ্চ 10 এ পুনরায় সেট করা যেতে পারে এবং প্রক্রিয়াটি চালিয়ে যেতে পারে।