जावा में लिंक की गई सूची को कैसे सॉर्ट करें

लेखक: Monica Porter
निर्माण की तारीख: 22 जुलूस 2021
डेट अपडेट करें: 19 नवंबर 2024
Anonim
जावा में लिंक्ड लिस्ट: 14 - लिंक्ड लिस्ट को सॉर्ट करें
वीडियो: जावा में लिंक्ड लिस्ट: 14 - लिंक्ड लिस्ट को सॉर्ट करें

विषय

जावा में लिंक की गई सूची को कैसे व्यवस्थित करें। एक बंद सूची प्रोग्रामिंग दुनिया में डेटा संरचनाओं के प्रमुख प्रकारों में से एक है। यह नोड्स का एक संगठन है जिसमें डेटा और संदर्भ अगले नोड की ओर इशारा करते हैं। जावा में एक लिंक की गई सूची को क्रमबद्ध करने के लिए, एक सूची वर्ग है जो संग्रह ढांचे के साथ काम करता है, जो एक आदेश के रूप में एल्गोरिदम को लागू करता है।


दिशाओं

जावा में लिंक्ड सूची का आयोजन (Fotolia.com से danimages द्वारा पूछताछ छवि)

    जावा में लिंक की गई सूची को क्रमबद्ध करें

  1. लिंक की गई सूची को एक नया लिंक्डलिस्ट ऑब्जेक्ट बनाकर और एक लिंक्डलिस्ट चर असाइन करके घोषित करें। एक लिंक्डलिस्ट जेनेरिक लिस्ट क्लास से आता है, इसलिए लिस्ट को स्वीकार करने वाली कोई भी विधि लिंक्डलिस्ट ऑब्जेक्ट द्वारा भी स्वीकार की जाएगी। "" LinkedList l = new LinkedList (); "

  2. सूची में उसी प्रकार की वस्तुओं (जैसे पूर्णांक) को जोड़ें। ये किसी भी प्रकार की वस्तु हो सकती हैं, लेकिन लिंक की गई सूची को क्रमबद्ध करने के लिए सभी को एक ही प्रकार का होना चाहिए।

  3. सूची के शीर्ष पर नई वस्तुओं को सम्मिलित करने के लिए List.addFirst विधि का उपयोग करें, ताकि आपके द्वारा जोड़ी गई कोई भी वस्तु विपरीत क्रम में हो। यदि आप उन्हें सूची के अंत में जोड़ना चाहते हैं, तो List.addLast विधि का उपयोग करें। "" list.addFirst (1); list.addFirst (3); list.addFirst (2); "


  4. सूची के माध्यम से पुनरावृति करने के लिए एक पुनरावृत्ति का उपयोग करें और इसे छाँटने से पहले और बाद में देखें कि छँटाई विधि क्या कर रही है। "" के लिए (Iterator i = list.iterator (); i.hasNext ();) {System.out.println (i.next ());}; "

    डिफ़ॉल्ट और कस्टम तुलनित्रों का उपयोग करके क्रमबद्ध करें

  1. डिफ़ॉल्ट तुलनित्र के साथ सूची को क्रमबद्ध करें। एक तुलनित्र एक वस्तु है जो दो वस्तुओं की तुलना करती है। डिफ़ॉल्ट तुलनित्र ऑब्जेक्ट छोटे ऑपरेटर का उपयोग करता है, इसलिए सूची को आरोही क्रम में आदेश दिया गया है। सूची को सॉर्ट करने के लिए, स्टैटिक कलेक्शन.सॉर्ट विधि का उपयोग करें। "" कलेक्शन.सॉर्ट (सूची)? ""

  2. y) {वापसी -1? "> एक वर्ग की तुलना करके एक कस्टम इंटरफेस के साथ सूची का आदेश दें जो एक तुलना इंटरफ़ेस को लागू करता है और एक उदाहरण के लिए इसे एक आदेश तर्क के रूप में पारित करता है। तुलना करने वाले वर्ग को लागू करने के लिए केवल सरल लागू करना है "सार्वजनिक वर्ग ग्रेटरथेन तुलनाकर्ता को लागू करता है अगर (x == y) {वापसी 0;} और {वापसी 1;};}"


  3. दूसरे तर्क के रूप में ग्रेटरन के एक नए उदाहरण को पास करके कलेक्शंस.सॉर्ट को कॉल का उपयोग करें। चूँकि बड़ी होने वाली वस्तुएँ दूसरों के सामने होंगी, लिस्ट को आरोही क्रम के बजाय अवरोही क्रम में क्रमबद्ध किया जाएगा। वैकल्पिक रूप से, यदि आप कस्टम वर्ग की उन वस्तुओं की एक सूची बनाते हैं, जिन्हें आपने स्वयं टाइप किया है, तो यह वर्ग अलग-अलग कंप्रेशर वर्ग का उपयोग करने के बजाय तुलनात्मक इंटरफ़ेस को लागू कर सकता है। "" कलेक्शंस.सोर्ट (सूची, नया ग्रेटरथन ()); "

युक्तियाँ

  • सर्किट में पुनरावृति और List.size () पद्धति के लिए पूर्णांक का उपयोग करना समस्याग्रस्त है। एक बंद सूची को बदलना एक महंगा कम्प्यूटेशनल ऑपरेशन है। किसी भी कमांड के रूप में एक इंडेक्स ऑपरेटर (जैसे l [2]) का उपयोग करते समय, जावा को सूची में तब तक चलना पड़ता है जब तक कि वह इंडेक्स 2 तक न पहुंच जाए। छोटी सूचियों के लिए, यह एक समस्या है, हालांकि, कुछ बड़ी के साथ, सूचकांक ऑपरेटर का उपयोग करने के लिए पुनरावृत्ति कुछ ऐसे संसाधनों में बदल जाती है जिनके लिए बहुत सारे संसाधनों की आवश्यकता होती है।
  • कोई फर्क नहीं पड़ता कि लिस्ट ऑब्जेक्ट कैसे लागू किया जाता है, क्योंकि लिंक्डलिस्ट एक ही इंटरफ़ेस लागू करता है।
  • तुलना विधि -1 पर वापस आनी चाहिए यदि arg0 को arg1 से पहले आदेश दिया जाता है, 0 यदि इसे समान रूप से आदेश दिया गया है, और arg0 से पहले arg1 का आदेश दिया जाता है।

चेतावनी

  • पुनरावृति ऑब्जेक्ट यह सुनिश्चित करता है कि सूची में प्रत्येक नोड केवल एक बार आता है। यह याद रखना महत्वपूर्ण है, आवश्यकता के बिना हमारे पास जाने से डेटा संरचनाओं का दुरुपयोग उस बिंदु पर हो सकता है जहां कार्यक्रम की खराबी है।

Netbean प्रोग्रामर को जावा प्रोग्राम बनाने की अनुमति देता है जिन्हें ग्रहण में स्थानांतरित किया जा सकता है। नेटबीन्स और एक्लिप्स ऐसे कंपाइलर हैं जिनमें ग्राफिकल इंटरफ़ेस और कोड टेस्टिंग के लिए डीबगर ह...

एक छायांकित क्षेत्र में बगीचे का निर्माण करना मुश्किल हो सकता है। बगीचे में इमारतें, पेड़ और अन्य पौधे कुछ सब्जियों को बढ़ने और पनपने के लिए बहुत छाया प्रदान कर सकते हैं। कई प्रकार की सब्जियां हैं जो ...

नवीनतम पोस्ट