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

किसी दिए गए सिंगल लिंक्ड लिस्ट को सर्कुलर लिस्ट में बदलने के लिए पायथन प्रोग्राम

जब सिंगल लिंक्ड लिस्ट को सर्कुलर लिंक्ड लिस्ट में बदलने की आवश्यकता होती है, तो 'convert_to_circular_list' नाम की एक विधि परिभाषित की जाती है जो यह सुनिश्चित करती है कि अंतिम तत्व पहले तत्व की ओर इशारा करते हैं, जिससे यह प्रकृति में गोलाकार हो जाता है।

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

उदाहरण

class Node:
   def __init__(self, data):
      self.data = data
      self.next = None

class LinkedList_struct:
   def __init__(self):
      self.head = None
      self.last_node = None

   def add_elements(self, data):
      if self.last_node is None:
         self.head = Node(data)
         self.last_node = self.head
      else:
         self.last_node.next = Node(data)
         self.last_node = self.last_node.next

def convert_to_circular_list(my_list):
   if my_list.last_node:
      my_list.last_node.next = my_list.head

def last_node_points(my_list):
   last = my_list.last_node
      if last is None:
         print('The list is empty...')
         return
      if last.next is None:
         print('The last node points to None...')
      else:
         print('The last node points to element that has {}...'.format(last.next.data))

my_instance = LinkedList_struct()

my_input = input('Enter the elements of the linked list.. ').split()
for data in my_input:
   my_instance.add_elements(int(data))

last_node_points(my_instance)

print('The linked list is being converted to a circular linked list...')
convert_to_circular_list(my_instance)

last_node_points(my_instance)

आउटपुट

Enter the elements of the linked list.. 56 32 11 45 90 87
The last node points to None...
The linked list is being converted to a circular linked list...
The last node points to element that has 56...

स्पष्टीकरण

  • 'नोड' वर्ग बनाया गया है।

  • आवश्यक विशेषताओं के साथ एक और 'LinkedList_struct' वर्ग बनाया गया है।

  • इसमें एक 'init' फ़ंक्शन होता है जिसका उपयोग पहले तत्व को प्रारंभ करने के लिए किया जाता है, यानी 'हेड' से 'कोई नहीं' और अंतिम नोड को 'कोई नहीं'।

  • 'add_elements' नाम की एक अन्य विधि परिभाषित की गई है, जिसका उपयोग लिंक की गई सूची में पिछले नोड को लाने के लिए किया जाता है।

  • 'convert_to_circular_list' नाम की एक अन्य विधि परिभाषित की गई है जो अंतिम नोड को पहले नोड की ओर इंगित करती है, जिससे यह प्रकृति में गोलाकार हो जाता है।

  • 'last_node_points' नाम की एक विधि परिभाषित की गई है, जो जांचती है कि क्या सूची खाली है, या यदि अंतिम नोड 'कोई नहीं' को इंगित करता है, या यह लिंक की गई सूची के किसी विशिष्ट नोड को इंगित करता है।

  • 'LinkedList_struct' वर्ग का एक ऑब्जेक्ट बनाया जाता है।

  • लिंक की गई सूची के तत्वों के लिए उपयोगकर्ता इनपुट लिया जाता है।

  • तत्वों को लिंक की गई सूची में जोड़ा जाता है।

  • इस लिंक की गई सूची में 'last_node_points' पद्धति को कहा जाता है।

  • प्रासंगिक आउटपुट कंसोल पर प्रदर्शित होता है।


  1. जावास्क्रिप्ट में सर्कुलर के रूप में सिंगल लिंक्ड लिस्ट

    सिंगल लिंक्ड लिस्ट में, अंतिम नोड का अगला पॉइंटर पहले नोड की ओर इशारा करता है।

  1. पायथन में लिंक की गई सूची को ज़िग-ज़ैग बाइनरी ट्री में बदलने का कार्यक्रम

    मान लीजिए कि हमारे पास एक एकल लिंक की गई सूची है, हमें इसे निम्नलिखित नियमों का उपयोग करके एक बाइनरी ट्री पथ में बदलना होगा - लिंक की गई सूची का प्रमुख मूल है। प्रत्येक बाद वाला नोड माता-पिता का बायां बच्चा होता है जब उसका मान कम होता है, अन्यथा यह सही बच्चा होगा। तो, अगर इनपुट [2,1,3,4,0,5] जैसा

  1. सूची को स्ट्रिंग में बदलने के लिए पायथन प्रोग्राम

    इस लेख में, हम दिए गए समस्या कथन को हल करने के लिए समाधान और दृष्टिकोण के बारे में जानेंगे। समस्या कथन एक सूची को देखते हुए हमें एक स्ट्रिंग प्रकार में बदलने की जरूरत है। यहां हम ऊपर दिए गए समस्या कथन को हल करने के लिए चार अलग-अलग तरीकों पर चर्चा करेंगे - दृष्टिकोण 1:रिक्त स्ट्रिंग में संयोजन का उ