Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Python

एक डबल लिंक्ड सूची से डुप्लिकेट तत्वों को हटाने के लिए पायथन प्रोग्राम

जब दोहरी लिंक की गई सूची में डुप्लिकेट तत्वों को हटाने की आवश्यकता होती है, तो एक 'नोड' वर्ग बनाने की आवश्यकता होती है। इस वर्ग में, तीन विशेषताएं हैं, डेटा जो नोड में मौजूद है, लिंक की गई सूची के अगले नोड तक पहुंच और लिंक की गई सूची के पिछले नोड तक पहुंच है।

नीचे उसी के लिए एक प्रदर्शन है -

उदाहरण

class Node:
   def __init__(self, my_data):
      self.previous = None
      self.data = my_data
      self.next = None
class double_list:
   def __init__(self):
      self.head = None
      self.tail = None
   def add_data(self, my_data):
      new_node = Node(my_data)
      if(self.head == None):
         self.head = self.tail = new_node
         self.head.previous = None
         self.tail.next = None
      else:
         self.tail.next = new_node
         new_node.previous = self.tail
         self.tail = new_node
         self.tail.next = None
   def print_it(self):
      curr = self.head
      if (self.head == None):
         print("The list is empty")
         return
      print("The nodes in the doubly linked list are :")
      while curr != None:
         print(curr.data)
         curr = curr.next
   def remove_duplicates(self):
      if(self.head == None):
         return
      else:
         curr = self.head;
         while(curr != None):
            index_val = curr.next
            while(index_val != None):
               if(curr.data == index_val.data):
                  temp = index_val
                  index_val.previous.next = index_val.next
                  if(index_val.next != None):
                     index_val.next.previous = index_val.previous
                  temp = None
               index_val = index_val.next
            curr = curr.next
my_instance = double_list()
print("Elements are being added to the doubly linked list")
my_instance.add_data(10)
my_instance.add_data(24)
my_instance.add_data(54)
my_instance.add_data(77)
my_instance.add_data(24)
my_instance.print_it()
print("The elements in the list after removing duplicates are : ")
my_instance.remove_duplicates()
my_instance.print_it()

आउटपुट

Elements are being added to the doubly linked list
The nodes in the doubly linked list are :
10
24
54
77
24
The elements in the list after removing duplicates are :
The nodes in the doubly linked list are :
10
24
54
77

स्पष्टीकरण

  • 'नोड' वर्ग बनाया गया है।
  • आवश्यक विशेषताओं वाला एक और वर्ग बनाया गया है।
  • 'remove_duplicates' नाम की एक अन्य विधि परिभाषित की गई है, जिसका उपयोग लिंक की गई सूची में मौजूद डुप्लिकेट तत्वों को निकालने के लिए किया जाता है।
  • 'print_it' नाम की एक अन्य विधि परिभाषित की गई है, जो सर्कुलर लिंक्ड सूची के नोड्स को प्रदर्शित करती है।
  • 'डबल_लिस्ट' वर्ग का एक ऑब्जेक्ट बनाया जाता है, और उस पर डेटा जोड़ने के तरीकों को कहा जाता है।
  • एक 'init' पद्धति को परिभाषित किया गया है, कि सर्कुलर लिंक्ड सूची के पहले और अंतिम नोड्स किसी से नहीं।
  • 'remove_duplicates' पद्धति को कहा जाता है।
  • यह सूची के माध्यम से पुनरावृति करता है, और यह देखने के लिए जांच करता है कि क्या कोई तत्व दोहराया गया है।
  • अगर यह सच है, तो इसे हटा दिया जाता है।
  • यह 'print_it' पद्धति का उपयोग करके कंसोल पर प्रदर्शित होता है।

  1. पायथन में लिंक की गई सूची में डुप्लिकेट प्रविष्टियों को हटाने का कार्यक्रम

    मान लीजिए कि हमारे पास संख्याओं की एक लिंक की गई सूची है, हमें उन संख्याओं को हटाना होगा जो लिंक की गई सूची में कई बार दिखाई देती हैं (आउटपुट में केवल एक घटना को पकड़ें), हमें मूल लिंक की गई सूची में उपस्थिति के क्रम को भी बनाए रखना होगा। 9] होगा। इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  1. पायथन में दो लिंक्ड सूचियों से सूची तत्वों को इंटरलीव करने का कार्यक्रम

    मान लीजिए कि हमारे पास दो लिंक की गई सूचियाँ l1 और l2 हैं, हमें l1 से शुरू होने वाली इन दो सूचियों के तत्वों को अंतःस्थापित करके एक लिंक्ड सूची वापस करनी होगी। यदि लिंक की गई सूची में कोई बचे हुए नोड हैं, तो उन्हें सूची में जोड़ा जाना चाहिए। इसलिए, यदि इनपुट l1 =[5,4,6,3,4,7] l2 =[8,6,9] जैसा है, त

  1. एक सूची से डुप्लिकेट तत्वों को हटाने के लिए पायथन कार्यक्रम?

    एक सूची डुप्लिकेट तत्व के साथ दी गई है, हमारा कार्य दूसरी सूची बनाना है जिसमें बिना डुप्लिकेट के तत्व शामिल हैं। उदाहरण A::[2,3,4,3,4,6,78,90] Output::[2,3,4,6,78,90] एल्गोरिदम Step 1: create a list. Step 2: create a new list which is empty. Step 3: traverse every element in list. Step 4: if elem