Back2dos ने यह सब कहा है, मैं केवल उस बिंदु को स्पष्ट करने की कोशिश करूंगा जो मुझे लगता है कि सबसे महत्वपूर्ण है:
मूलांक सॉर्ट केवल बाइनरी अंक पैटर्न के आधार पर सरणी के भीतर निहित वास्तविक आदिम मूल्यों को सॉर्ट कर सकता है। वास्तविक वास्तविक दुनिया के सॉफ्टवेयर इंजीनियरिंग परिदृश्यों में, यह मामला लगभग कभी भी सामने नहीं आया है । हम जो अधिक बार करते हैं, वह अधिक जटिल (गैर-आदिम) डेटा संरचनाओं की सॉर्ट सरणियाँ होती हैं, और कुछ बार हम अनुक्रमणिका के एरे को अन्य संस्थाओं में सॉर्ट करते हैं।
अब, अन्य संस्थाओं को अनुक्रमित की एक सरणी वास्तव में आदिमों की एक सरणी है, लेकिन सॉर्ट क्रम तुलनित्र इंटरफ़ेस (और / या C # में प्रतिनिधि) द्वारा प्रदान किया जाता है, जो अनुक्रमित की तुलना नहीं करता है, लेकिन अनुक्रमणिकाओं द्वारा अनुक्रमित इकाइयां। इस प्रकार, क्रम क्रम आदिमों के मूल्यों के क्रम के लिए बिल्कुल कोई संबंध नहीं रखता है, और इसलिए इस परिदृश्य में मूलांक छंटाई बिल्कुल बेकार है।
एक उदाहरण:
हमारे पास स्ट्रिंग्स की एक सरणी है: [0] = "माइक", [1] = "अल्बर्ट", [2] = "मौरो"। फिर हम उन तारों को अनुक्रमित करने की एक सरणी घोषित करते हैं: [0] = 0, [1] = 1, [2] = 2। फिर, हम अनुक्रमणिका के सरणी को क्रमबद्ध करते हैं, इसे एक तुलनित्र पास करते हैं, जो स्वयं अनुक्रमणिका की तुलना नहीं करता है, लेकिन इन सूचकांक द्वारा संदर्भित वास्तविक तार। छांटने के बाद, अनुक्रमित सरणी का परिणाम इस तरह दिखेगा: [0] = 1, [1] = 0, [2] = 2। जैसा कि आप देख सकते हैं, इस प्रकार के आदेश का सरणी के भीतर निहित मूल्यों के द्विआधारी पैटर्न से कोई लेना-देना नहीं है, और फिर भी अनुक्रमों के इस सरणी को ट्रैवर्स करके और प्रत्येक संगत स्ट्रिंग को लाकर, हम क्रमबद्ध क्रम में तारों का दौरा करते हैं।