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

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

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

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

उदाहरण

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

class Stack_structure:
   def __init__(self):
      self.head = None

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

   def pop_val(self):
      if self.head is None:
         return None
      else:
         del_Val = self.head.data
         self.head = self.head.next
         return del_Val

my_instance = Stack_structure()
while True:
   print('push <value>')
   print('pop')
   print('quit')
   my_input = input('What action would you like to perform ? ').split()

   operation = my_input[0].strip().lower()
   if operation == 'push':
      my_instance.push_val(int(my_input[1]))
   elif operation == 'pop':
      del_Val = my_instance.pop_val()
      if del_Val is None:
         print('The stack is empty.')
      else:
         print('The deleted value is : ', int(del_Val))
   elif operation == 'quit':
      break

आउटपुट

push <value>
pop
quit
What action would you like to perform ? push 56
push <value>
pop
quit
What action would you like to perform ? push 78
push <value>
pop
quit
What action would you like to perform ? push 90
push <value>
pop
quit
What action would you like to perform ? pop
The deleted value is : 90
push <value>
pop
quit
What action would you like to perform ? quit

स्पष्टीकरण

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

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

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

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

  • 'pop_val' नाम की एक और विधि परिभाषित की गई है, जो स्टैक के ऊपर से किसी मान को हटाने में मदद करती है, और हटाए गए मान को लौटाती है।

  • 'स्टैक_स्ट्रक्चर' का एक उदाहरण बनाया गया है।

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

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

  • 'पॉप' विकल्प स्टैक से सबसे ऊपरी तत्व को हटा देता है।

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

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

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


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

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

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

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

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

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