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

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

जब एक लिंक की गई सूची का उपयोग करके एक कतार डेटा संरचना को लागू करने की आवश्यकता होती है, तो लिंक की गई सूची में तत्वों को जोड़ने (एनक्यू ऑपरेशन) करने की एक विधि, और लिंक की गई सूची के तत्वों को हटाने (डीक्यू ऑपरेशन) करने की एक विधि परिभाषित की जाती है।

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

उदाहरण

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

class Queue_structure:
   def __init__(self):
      self.head = None
      self.last = None

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

   def dequeue_operation(self):
      if self.head is None:
         return None
      else:
         val_returned = self.head.data
         self.head = self.head.next
         return val_returned

my_instance = Queue_structure()
while True:
   print('enqueue <value>')
   print('dequeue')
   print('quit')
   my_input = input('What operation would you like to perform ? ').split()

   operation = my_input[0].strip().lower()
   if operation == 'enqueue':
      my_instance.enqueue_operation(int(my_input[1]))
   elif operation == 'dequeue':
      dequeued = my_instance.dequeue_operation()
      if dequeued is None:
         print('The queue is empty.')
      else:
         print('The deleted element is : ', int(dequeued))
   elif operation == 'quit':
      break

आउटपुट

enqueue <value>
dequeue
quit
What operation would you like to perform ? enqueue 45
enqueue <value>
dequeue
quit
What operation would you like to perform ? enqueue 12
enqueue <value>
dequeue
quit
What operation would you like to perform ? dequeue
The deleted element is : 45
enqueue <value>
dequeue
quit
What operation would you like to perform ? quit

स्पष्टीकरण

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

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

  • इसमें एक 'init' फंक्शन होता है जिसका इस्तेमाल पहले एलिमेंट यानी 'हेड' से 'कोई नहीं' को इनिशियलाइज़ करने के लिए किया जाता है।

  • Enqueue_operation' नाम की एक विधि परिभाषित की गई है, जो कतार में एक मान जोड़ने में मदद करती है।

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

  • 'Queue_struct' का एक उदाहरण बनाया गया है।

  • तीन विकल्प दिए गए हैं, जैसे 'एनक्यू', 'डेक्यू' और 'क्विट'।

  • 'एनक्यू' विकल्प स्टैक में एक विशिष्ट मान जोड़ता है।

  • 'डेक्यू' विकल्प कतार से तत्व को हटा देता है।

  • 'छोड़ो' विकल्प लूप से बाहर आता है।

  • उपयोगकर्ता द्वारा इनपुट/पसंद के आधार पर, संबंधित ऑपरेशन किए जाते हैं।

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


  1. दोहरी लिंक की गई सूची में किसी तत्व को खोजने के लिए पायथन प्रोग्राम

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

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

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

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

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