मेरे पास एक प्रश्न है जो बहुत बुनियादी प्रतीत हो सकता है, लेकिन यह एक संदर्भ में है जहां "हर सीपीयू टिक मायने रखता है" (यह एक बड़े एल्गोरिदम का हिस्सा है सुपरकंप्यूटर पर इस्तेमाल किया जाना चाहिए)।सी ++: संख्या और उनकी अनुक्रमणिका की सूची क्रमबद्ध करने का सबसे तेज़ तरीका
समस्या काफी सरल है: हस्ताक्षरित लंबी लंबी int संख्याओं और उनकी मूल अनुक्रमणिका की सूची को सॉर्ट करने का सबसे तेज़ तरीका क्या है? (। शुरुआत में, अहस्ताक्षरित लंबे int संख्या एक पूरी तरह से यादृच्छिक क्रम में हैं)
Example :
Before
Numbers: 32 91 11 72
Indexes: 0 1 2 3
After
Numbers: 11 32 72 91
Indexes: 2 0 3 1
द्वारा "सबसे तेज़ तरीका है", मेरा मतलब है: क्या एल्गोरिथ्म का उपयोग करें: std :: प्रकार, सी qsort, या किसी अन्य वेब पर उपलब्ध एल्गोरिदम सॉर्टिंग? उपयोग करने के लिए क्या कंटेनर (सी सरणी, std :: वेक्टर, std :: मानचित्र ...)? इंडेक्स को एक ही समय में कैसे सॉर्ट करें (संरचनाओं का उपयोग करें, std :: pair, std :: map ...)?
बहुत बहुत धन्यवाद!
संपादित करें: सॉर्ट करने के लिए कितने तत्व हैं? -> आम तौर पर संख्याओं का 4Go
सॉर्ट करने के लिए कितने तत्व (अधिकतम)? –
सी सरणी और std :: वेक्टर के बीच कोई अंतर नहीं होना चाहिए, न ही संरचना और std :: जोड़ी के बीच। –