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

पायथन प्रोग्राम n नोड्स की एक सर्कुलर लिंक्ड लिस्ट बनाने और इसे उल्टे क्रम में प्रदर्शित करने के लिए

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

सर्कुलर सूची में डेटा तत्वों को उल्टे क्रम में प्रदर्शित करने के लिए, एक और विधि परिभाषित की जा सकती है, जो डेटा को उलट देगी। इस वर्ग में, दो विशेषताएँ हैं, डेटा जो नोड में मौजूद है, और लिंक्ड सूची के अगले नोड तक पहुँच है। एक वृत्ताकार लिंक्ड सूची में, सिर और पिछला एक दूसरे से सटे हुए होते हैं। वे एक मंडली बनाने के लिए जुड़े हुए हैं, और अंतिम नोड में 'NULL' मान नहीं है।

एक और 'linked_list' वर्ग बनाने की जरूरत है जिसमें एक प्रारंभिक कार्य होगा, और नोड के प्रमुख को 'कोई नहीं' के लिए प्रारंभ किया जाएगा।

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

उदाहरण

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

class linked_list:
   def __init__(self):
      self.head = None
     
   def add_data(self,my_data):
      new_node = Node(my_data)
      new_node.next = self.head
      self.head = new_node
   
   def reverse(self):
      prev = None
      current = self.head
      while(current is not None):
         next = current.next
         current.next = prev
         prev = current
         current = next
      self.head = prev
   
   def print_it(self):
      temp = self.head
      while(temp):
         print(temp.data)
         temp = temp.next

my_list = linked_list()
my_list.add_data(47)
my_list.add_data(89)
my_list.add_data(34)
my_list.add_data(11)

print("The list is : ")
my_list.print_it()
print("The list is being reversed")
my_list.reverse()
print("The reversed list is : ")
my_list.print_it()

आउटपुट

The list is :
11
34
89
47
The list is being reversed
The reversed list is :
47
89
34
11

स्पष्टीकरण

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

  1. सी प्रोग्राम एकल लिंक्ड सूची का उपयोग करके संख्याओं को उल्टे क्रम में प्रदर्शित करने के लिए

    लिंक्ड सूचियां गतिशील स्मृति आवंटन का उपयोग करती हैं और नोड्स का संग्रह हैं। नोड्स के दो भाग होते हैं जो डेटा और लिंक होते हैं। लिंक की गई सूचियों के प्रकार C प्रोग्रामिंग लैंग्वेज में लिंक्ड लिस्ट के प्रकार इस प्रकार हैं - एकल/एकल लिंक की गई सूचियां डबल / डबल लिंक्ड सूचियां सर्कुलर सिंगल लिंक्ड

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

    मान लीजिए कि हमारे पास एक सूची L और दूसरा मान k है। हमें शुरू से kth नोड और अंत से kth नोड को स्वैप करना होगा और अंत में अंतिम सूची वापस करनी होगी। इसलिए, यदि इनपुट L =[1,5,6,7,1,6,3,9,12] k =3 जैसा है, तो आउटपुट [1,5,3,7,1,6, 6,9,12], शुरू से तीसरा नोड 6 है और अंत से 3 है, इसलिए उनकी अदला-बदली की

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

    मान लीजिए कि हमें एक लिंक्ड सूची दी गई है जिसमें हेड के रूप में प्रारंभ नोड है, और दो पूर्णांक संख्याएं एम और एन हैं। हमें सूची को पार करना होगा और कुछ नोड्स को हटाना होगा जैसे कि पहले m नोड्स को सूची में रखा जाता है और अगले n नोड्स को पहले m नोड्स को हटा दिए जाने के बाद। हम इसे तब तक करते हैं जब तक