Sunday 15 February 2015

java - Implementing removeItem() of single linked list -


नीचे SingleLinkedList जावा में लागू अमूर्त प्रकार है।

  सार्वजनिक श्रेणी एकल लिंक्ड लिस्ट & lt; T & gt; {/ ** * सार डेटा प्रकार का निर्माण कंसट्रक्टर और चयनकर्ता कार्यों का होता है जो नीचे निहित प्रारूप के नीचे लिखे गए हैं, जो नीचे अपरिवर्तनीय है: * यदि एक पुनरावर्ती सूची एस पहले तत्व एफ और एक पुनरावर्ती सूची r से बनाई गई है, तो * • पहले (रिटर्न) रिटर्न एफ, और * बाकी (एस) रिटर्न आर, जो एक पुनरावर्ती सूची है। * / / ** * प्रतिनिधित्व - प्रारंभ * / निजी स्थिर एकल लिंक्ड लिस्ट & lt;? & Gt; EmptyList = नल; निजी टी आइटम; निजी सिंगल लिंक्डलिस्ट & lt; T & gt; restOfTheList; / ** * कन्स्ट्रक्टर * @पालम पहले * @ परम बाकी * / सार्वजनिक सिंगल लिंक्ड लिस्ट (टी पहले, सिंगल लिंक्ड लिस्ट और लेफ्टिनेंट; टी एंड जी; बाकी) {this.item = first; This.restOfTheList = बाकी; } / ** * चयनकर्ता फ़ंक्शन * @पालम सूची * @ रुटर * / निजी टी पहले () {return.item; } / ** * चयनकर्ता फ़ंक्शन * @पाराम सूची * रुटर * / निजी सिंगल लिंक्डलिस्ट & lt; T & gt; बाकी () {return.restOfTheList; } / ** * प्रतिनिधित्व - अंत * / / ** * यूजर इंटरफेस - शुरू होता है * इन विधियों को कन्स्ट्रक्टर या चयनकर्ता और कुछ सहायक कार्यों की मदद लेनी चाहिए। * / सार्वजनिक अंतिम पूर्णांक लंबाई () {return.lengthOfTheList (0); } संरक्षित अंतिम अंतराल लंबाईएफ़ीलिस्ट (पूर्णांक लंबाई) {यदि (this.rest () == खाली सूची) {वापसी की लंबाई; } अन्य {return.rest ()। LengthOfTheList (लंबाई + 1); }} सार्वजनिक अंतिम टी getItem (इंट की स्थिति) {यदि (स्थिति == 1) {return this.first (); } और {return.rest ()। GetItem (स्थिति -1); }} सार्वजनिक अंतिम शून्य हटाना IITem (इंट की स्थिति) {} सार्वजनिक स्थिर शून्य मुख्य (स्ट्रिंग [] आर्ग्स) {सिंगल लिंक्डलिस्ट & lt; पूर्णांक & gt; सूची = नया सिंगल लिंक्डलिस्ट & lt; पूर्णांक & gt; (3, नई एकल लिंक्ड सूची & lt; पूर्णांक & gt; (2, नई एकल लिंक्ड सूची & lt; पूर्णांक & gt; (1, रिक्त))); सूची = नई एकल लिखे गए सूची & lt; पूर्णांक & gt; (4, सूची); list.removeItem (3); }}  

मुझे removeItem () विधि को पूरा करने पर कुछ संकेत की आवश्यकता होगी।

यह काम किसी भी होमवर्क का हिस्सा नहीं है प्रश्न।

मैं इस अजगर को जावा में बंद करने की कोशिश कर रहा हूं।

कृपया मेरी मदद करो!

यदि आप सूची में विशिष्ट वस्तु को निकालने जा रहे हैं, तो आपको 2 चीजों का ट्रैक रखने की आवश्यकता होगी

  1. नोड जिसे आप देख रहे हैं
  2. अपनी वर्तमान स्थिति से अगला नोड (आपको इसकी जांच करने की आवश्यकता है कि उसके पर काम करने से पहले यह रिक्त है।)

अब, हम तर्क के बारे में सोचें। मान लीजिए मेरे पास निम्न मदों की एक सूची है:

  1 - & gt; 3 - & gt; 5 - & gt; 7 - & gt; 9 - & gt; यदि हम 7 को हटाना चाहते हैं, तो हमें 5 बिंदु से 9 तक के  अगला  नोड करने की जरूरत है।  

/ P>

  1 - & gt; 3 - & gt; 5 - / 7 - & gt; 9 - & gt; NULL ^ ----------- ^ ^ सिर पूंछ  

ऐसे मामलों में को माना जाएगा कि ऐसा कब करना है:

< Ul>
  • सिर नोड को हटाने पर आप क्या करते हैं?
  • पूंछ नोड को हटाते समय आप क्या करते हैं
  • दो नोड्स के बीच एक नोड को हटाने पर आप क्या करते हैं? (ऊपर दिखाया गया है)
  • आपको आरंभ करने के लिए "हिंट" का पर्याप्त होना चाहिए। हमेशा की तरह, "शैतान का वकील" होने का तरीका सोचें; क्या होगा मेरा कार्यक्रम तोड़ना यदि आप इस तरह से ढांचा से संपर्क करते हैं, तो आप बहुत से सिरदर्दों से बचेंगे क्योंकि आप अपने डेटा संरचना का विस्तार करेंगे, खासकर यदि यह अस्थिर है


    No comments:

    Post a Comment