"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > सॉर्टिंग के दौरान तत्व क्रम बनाए रखने के लिए जावास्क्रिप्ट में स्थिर सॉर्टिंग कैसे लागू करें?

सॉर्टिंग के दौरान तत्व क्रम बनाए रखने के लिए जावास्क्रिप्ट में स्थिर सॉर्टिंग कैसे लागू करें?

2024-11-17 को प्रकाशित
ब्राउज़ करें:611

How to Implement Stable Sorting in JavaScript for Maintaining Element Order During Sorting?

जावास्क्रिप्ट में स्थिर सॉर्टिंग

उद्देश्य: एक कुंजी के आधार पर वस्तुओं की एक श्रृंखला को कुशलतापूर्वक सॉर्ट करना, स्थिरता और स्थिरता बनाए रखना।

एल्गोरिदम अनुशंसा: जबकि कई सॉर्टिंग एल्गोरिदम मौजूद हैं, आपकी स्थिरता की विशिष्ट आवश्यकता के लिए, क्विकसॉर्ट या मर्जसॉर्ट जैसे गैर-स्थिर सॉर्टिंग एल्गोरिदम के एक संशोधित संस्करण को लागू करने पर विचार करें।

स्थिर छँटाई तकनीक:

स्थिरता सुनिश्चित करने के लिए, क्रमबद्ध तुलना फ़ंक्शन में एक अतिरिक्त मानदंड जोड़ें। विशेष रूप से, दो समान तत्वों की तुलना करते समय, इनपुट सरणी में टाईब्रेकर के रूप में उनकी मूल स्थिति का उपयोग करें। यह एक ही कुंजी के साथ तत्वों के क्रम को बनाए रखेगा। // तत्वों की प्रारंभिक स्थिति प्राप्त करें स्थिरांक स्थिति = arr.map((el, i) => i); // संशोधित तुलना फ़ंक्शन का उपयोग करके क्रमबद्ध करें arr.sort((ए, बी) => { स्थिरांक कुंजीए = ए[कुंजी]; स्थिरांक कुंजीबी = बी[कुंजी]; यदि (keyA === keyB) { //स्थिरता के लिए वापस स्थिति में आ जाएं वापसी स्थिति[ए] - स्थिति[बी]; } वापसी आदेश === "एएससी"? कीए - कीबी : कीबी - कीए; }); वापसी गिरफ्तारी; };

उदाहरण उपयोग:

const stableSort = (arr, key, order) => {
  // Get initial positions of elements
  const positions = arr.map((el, i) => i);

  // Sort using modified comparison function
  arr.sort((a, b) => {
    const keyA = a[key];
    const keyB = b[key];

    if (keyA === keyB) {
      // Fall back to position for stability
      return positions[a] - positions[b];
    }

    return order === "asc" ? keyA - keyB : keyB - keyA;
  });

  return arr;
};

इस तकनीक का उपयोग करके, आप गैर-स्थिर सॉर्टिंग एल्गोरिदम से भी स्थिर सॉर्टिंग प्राप्त कर सकते हैं, जिससे यह लगभग 200-300 ऑब्जेक्ट के आपके परिदृश्य के लिए उपयुक्त हो जाता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729255458 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3