बबल सॉर्ट जावास्क्रिप्ट

| | | |

जावास्क्रिप्ट बबल स्पेल कैसे लिखें

क्या आपके पास उन मानों की सूची है जिन्हें आपको क्रमित करने की आवश्यकता है? छँटाई बुलबुले आपके लिए हो सकते हैं। बबल प्रकार एक सूची में आसन्न वस्तुओं की तुलना करते हैं और यदि वे सही क्रम में नहीं हैं तो उनकी स्थिति को स्वैप करें।

इस गाइड में हम बात करने जा रहे हैं कि बबल किस प्रकार के होते हैं और वे कैसे काम करते हैं। हम देखेंगे कि जावास्क्रिप्ट में बबल सॉर्ट कैसे लिखा जाता है ताकि आप इस शैली के साथ जल्दी से शुरुआत कर सकें।

आइए शुरू करें!

JavaScript बबल सॉर्ट क्या है?

एक प्रकार का बुलबुला, या "सॉर्ट डंपिंग," एक सरल सॉर्टिंग एल्गोरिदम है, जो एक सूची में आसन्न वस्तुओं की एक जोड़ी की तुलना करता है। यदि कोई तत्व क्रम में नहीं है, तो हम उस तत्व को पिछले वाले से बदल देते हैं। अन्यथा, आइटम उसी स्थान पर रहता है।

ट्राई बबल को इसका नाम इसलिए मिला क्योंकि यह एक सूची में स्क्रॉल करता है और सभी सबसे महत्वपूर्ण मूल्यों को अंत तक ले जाता है। इसके बारे में सोचने का एक और तरीका यह है कि सूची के अंत में सबसे बड़ा मान "बुलबुला" है। बबल प्रकार आरोही और अवरोही दोनों क्रम में काम करते हैं

बबल दो प्रकार के होते हैं: .. नियमित और अनुकूलित

नियमित बबल प्रकार सभी संभव तुलना करते हैं, इससे कोई फर्क नहीं पड़ता कि एक सरणी क्रमबद्ध है। यदि कोई स्वैप नहीं हुआ है तो एक पुनरावृत्ति के अंत में अनुकूलित बबल के प्रकार चलना बंद हो जाते हैं।

बबल सॉर्ट जावास्क्रिप्ट प्रक्रिया

हम इस बारे में बात करके शुरू करेंगे कि बबल कैसे काम करता है, और फिर जावास्क्रिप्ट में एक को लागू करें। तत्वों की निम्नलिखित सूची पर विचार करें:

9 3 2 11

शुरू करने के लिए हमारी शैली, हम पहले और दूसरे नंबर की तुलना करेंगे। यदि पहली संख्या दूसरी संख्या से अधिक है, तो हम तत्वों की अदला-बदली करते हैं। अन्यथा, तत्व एक ही स्थिति में रहते हैं

9 बड़ा है 3 से अधिक ताकि पहले दो तत्वों की स्थिति बदली जा सके:

3 < / td> 9 12 2

यह प्रक्रिया तब तक जारी रहती है जब तक सूची में सभी आइटम की तुलना नहीं की जाती है।

9 12 से अधिक नहीं है, इसलिए ये आइटम एक ही स्थान पर रहते हैं। 12 2 से बड़ा है, इसलिए ये तत्व स्वैप करते हैं:

< टेबल क्लास = "wp-ब्लॉक एन टेबल-इन्फो टेबल">
3 9 2 12

हमारी सूची दिखने लगती है सफाई वाला। हमारे एल्गोरिथ्म ने सूची को एक बार दोहराया। यह तब तक जारी रहेगा जब तक हम प्रत्येक आइटम को ऑर्डर नहीं कर देते। अगले पुनरावृत्ति में, हमारा कार्यक्रम निम्नलिखित तुलना करता है:

  • क्या 9 से 3 बड़ा है? नहीं, कुछ नहीं हो रहा है।
  • 9, 2 से बड़ा है? हां, तो आइटम की अदला-बदली होती है।
  • 9, 12 से बड़ा है? नहीं, कुछ नहीं होता।

इस पुनरावृत्ति के बाद, हमारी सूची इस तरह दिखती है:.

< tr>
3 2 9 12 हम लगभग वहां हैं। अगले पुनरावृत्ति में, हम पहले दो आइटमों को स्वैप करते हैं, जो हमें एक पूर्ण आदेशित सूची देता है:

हमने यह किया! हमने बबल सॉर्ट का उपयोग करके एक सूची को वर्गीकृत किया है। मुश्किल हिस्सा यहां से शुरू होता है:। जावास्क्रिप्ट में इस एल्गोरिथम का विकास कार्य

जावास्क्रिप्ट में एल्गोरिथम बबल सॉर्टिंग कैसे लिखें

हम जावास्क्रिप्ट बबल सॉर्टिंग एल्गोरिथम लिख सकते हैं। हम दो तरह के बबल बनाने जा रहे हैं: एक सामान्य सॉर्ट और एक

नियमित बबल सॉर्ट

आइए एक जावास्क्रिप्ट फ़ंक्शन जो हमारे बबल सॉर्ट करता है:

यह फ़ंक्शन बबल सॉर्ट एल्गोरिथम का उपयोग करके संख्याओं और प्रकारों की एक सरणी को स्वीकार करता है। आरंभ करने के लिए, एल्गोरिथ्म एक लूप बनाता है जो सूची के प्रत्येक तत्व से गुजरता है

हमारा कोड सूची की लंबाई की गणना करने के लिए सरणी की लंबाई विशेषता का उपयोग करता है। , फिर हम एक और लूप घोषित करते हैं। यह लूप प्रत्येक आइटम के बीच तुलना करता है सूची।

हमारे इनर लूप के प्रत्येक पुनरावृत्ति के लिए, हमारा प्रोग्राम एक if स्टेटमेंट निष्पादित करता है। यह JavaScript if स्टेटमेंट जाँचता है कि क्या बाईं ओर की संख्या एक तुलना दाईं ओर की संख्या से बड़ी है। इस मामले में, हमारा प्रोग्राम संख्याओं को स्वैप करता है। अन्यथा, कुछ नहीं होता है।

उन्हें क्रमबद्ध करने के बाद मुख्य कार्यक्रम में सरणी लौटाता है। आइए हमारे फ़ंक्शन को कॉल करें और दें यह एक उदाहरण सरणी है:

हमने घोषित कर दिया है JavaSc वेरिएबल्स ript जिसे numberToSort कहा जाता है, जिसमें वे अंक होते हैं जिन्हें हम ऑर्डर करना चाहते हैं। फिर हमने अपनी SortItems () विधि को कॉल किया और उस वेरिएबल को एक पैरामीटर के रूप में अपनाया। यह हमारी सूची को क्रमबद्ध करता है। हम नई ऑर्डर की गई सूची को ब्राउज़र के JavaScript कंसोल में प्रिंट करते हैं। [2, 3, 9, 11]

हमारे सूची कोड के आदेश आरोही क्रम में। हम अपने "if" डिक्लेरेशन को "माइनस" साइन के साथ एक्सेस करने के लिए "से अधिक" वैल्यू को बदलकर इस व्यवहार को बदल सकते हैं:

हम लगभग पूरा कर चुके हैं! आइए एक वेरिएबल इंटरचेंज के साथ सॉर्टिंग बबल को लागू करके हमारे कोड को और अधिक कुशल बनाते हैं।

अनुकूलित बबल सॉर्ट

अनुकूलित बबल पेश किया गया एक नया वैरिएबल सॉर्ट करें। यह चर इस बात पर नज़र रखता है कि एक्सचेंज आयोजित किया गया था या नहीं। अगर कोई स्वैप नहीं हुआ तो ट्राई स्टॉप

अपने जॉनर बबल को अधिक कुशल बनाने के लिए, हम लूप के लिए अपने बाहरी को थोड़ी देर के लूप से बदल देंगे:

जब तक लूप को "स्वैप" नहीं किया जाता तब तक निष्पादित किया जाएगा। डिफ़ॉल्ट रूप से, "पर्स" का मान सत्य है। हमारी सूची के प्रत्येक पुनरावृत्ति में, हमने "स्वैप्ड" के मान को गलत पर सेट किया है। यदि कोई स्वैप होता है, तो "स्वैप्ड" का मान सही होता है

यह हमें ट्रैक रखने की अनुमति देता है कि क्या एक विनिमय एक पुनरावृत्ति में किया गया है। यदि कोई विनिमय नहीं किया गया है, तो इसका मतलब है कि हमारी सूची को क्रमबद्ध किया गया है। इस मामले में, हम अपने बबल प्रकार को रोक सकते हैं।

इस बुलबुले के प्रकार का उपयोग करने का प्रयास करें:

p>

हमारा कोड रिटर्न:। [2, 3, 9, 11] सूची को क्रमबद्ध किया गया है। यह एल्गोरिथम अधिक कुशल है क्योंकि यह अनावश्यक तुलना नहीं करता है। जैसे ही सूची सॉर्ट किया जाता है, एल्गोरिथम काम करना बंद कर देता है।

निष्कर्ष

C को सॉर्ट करने का एक आसान तरीका है बबल के प्रकार किसी सूची में आसन्न वस्तुओं की सूची को ompare करें या उन्हें स्वैप करें और यदि वे सही क्रम में नहीं हैं।

अधिक कुशल प्रकार उपलब्ध हैं जैसे सम्मिलित सॉर्ट या मर्ज सॉर्ट। ये प्रकार अधिक उन्नत हैं। आमतौर पर बबल के प्रकार एल्गोरिदम को सॉर्ट करने के बारे में सीखना शुरू करने का सबसे अच्छा तरीका है।

जावास्क्रिप्ट में कोडिंग के बारे में अधिक जानकारी के लिए, हमारा जावास्क्रिप्ट सहायता कैसे सीखें