मैं 3 चल बिन्दु मूल्यों की एक सरणी है:सी - क्रमबद्ध सरणी, जबकि सूचकांक का ट्रैक रखने नाव
float norms[3];
norms[0] = 0.4;
norms[1] = 3.2;
norms[2] = 1.7;
मैं आदेश उतरते जबकि मूल्यों की मूल अनुक्रमित का ट्रैक रखने में इस सरणी क्रमबद्ध करना चाहते हैं सरणी में।
दूसरे शब्दों में, इसी सूचकांक {0, 1, 2}
के साथ सरणी norms[] = {0.4, 3.2, 1.7}
को देखते हुए, मैं मूल रूप से इसी ints
कि मूल एक अवरोही तरह निम्नलिखित norms[]
में float
मूल्यों के पदों को दर्शाता है की एक सरणी प्राप्त करने के लिए चाहते हैं। इस मामले में यह {1, 2, 0}
होगा।
इसे प्राप्त करने का सबसे अच्छा/साफ तरीका क्या है?
इंडेक्स युक्त आकार के साथ int int की एक सरणी बनाएं। फ़्लोट सरणी को सॉर्ट करते समय बस अपने int सरणी पर किसी भी स्वैप ऑपरेशन को मिरर करें। – jboockmann
इंडेक्स फ़ील्ड के साथ एक स्ट्रक्चर का उपयोग करें, सॉर्ट करने से पहले प्रत्येक तत्व की अनुक्रमणिका लिखें, और यह सरणी में मूल स्थिति को बनाए रखेगा। –
बस मूल सरणी की प्रति बनाएं। बस। कोई गंदे सोच, पूर्व परिपक्व अनुकूलन एल्गोरिदम की आवश्यकता नहीं है। आगे बढ़ रहा है ... – Lundin