मेरे पास जावा में युगल की एक सरणी है: arr1
जिसे मैं सॉर्ट करना चाहता हूं। संभवतः पहला विकल्प यूटिलिटी विधि Arrays.sort(double[])
होगा।सॉर्ट करें और किसी अन्य सरणी में परिवर्तनों को प्रतिबिंबित करें
विचार यह है कि मैं एक ही परिवर्तन चाहते हैं (उदाहरण के लिए index i
पर मूल्य arr1
में index j
में मूल्य के साथ अदला-बदली कर रहा है) पूर्णांकों का एक और सरणी में परिलक्षित होना: (arr2
अर्थ में है कि एक ही अनुक्रमित पर मान बदल रहे हैं arr2
में भी)।
जावा में इसे पूरा करने के लिए कोई आसान तरीका (एक चाल) है? या एकमात्र तरीका सॉर्टिंग एल्गोरिदम को स्वयं लागू करना है?
अद्यतन: मुझे लगता है कि लोगों को 2 मूल्यों (arr1
से एक और arr2
से एक) से युक्त वस्तुओं में से एक सरणी के साथ दो सरणियों की जगह सलाह देते हैं। क्या यह कुछ दक्षता दंड नहीं लाएगा। दूसरे शब्दों में, क्या प्राचीन वस्तुओं की एक सरणी (इस मामले में युगल) की तुलना में ऑब्जेक्ट्स की सरणी को सॉर्ट करना कम कुशल नहीं है?
डेटा पूरी तरह स्थिर है। यह बड़ा है (यह स्मृति में फिट बैठता है) लेकिन स्थिर है।
इंडेक्स की एक सरणी है। मान सरणी को सॉर्ट न करें, इंडेक्स सरणी को सॉर्ट करें। फिर दोनों मान सरणी को इंगित करने के लिए अनुक्रमणिका सरणी का उपयोग करें। समाधान देखें: http: //stackoverflow.com/questions/4859261/get-the-indices-of-an-array-after-sorting – Raihan
http://stackoverflow.com/questions/112234/sorting-matched-arrays -इन-जावा – talnicolas
यही है जिसे "बाहरी सॉर्ट" कहा जाएगा। –