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 और अधिकतम के बीच एक यादृच्छिक संख्या r का चयन किया जाता है, सरणी [r] और सरणी [max] की अदला-बदली की जाती है, नया सरणी [max] वापस किया जाता है, और अधिकतम को घटाया जाता है:
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|
+--+--+--+--+--+--+--+--+--+--+--+
...
11 पुनरावृत्तियों के बाद, सरणी में सभी संख्याएं चुनी गई हैं, अधिकतम == 0, और सरणी तत्वों को फेरबदल किया गया है:
+--+--+--+--+--+--+--+--+--+--+--+
| 4|10| 8| 6| 2| 0| 9| 5| 1| 7| 3|
+--+--+--+--+--+--+--+--+--+--+--+
इस बिंदु पर, अधिकतम 10 पर रीसेट किया जा सकता है और प्रक्रिया जारी रह सकती है।