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

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

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

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

उदाहरण

class Queue_structure:
   def __init__(self):
      self.in_val = Stack_structure()
      self.out_val = Stack_structure()

   def check_empty(self):
      return (self.in_val.check_empty() and self.out_val.check_empty())

   def enqueue_operation(self, data):
      self.in_val.push_operation(data)

   def dequeue_operation(self):
      if self.out_val.check_empty():
         while not self.in_val.check_empty():
            deleted_val = self.in_val.pop_operation()
            self.out_val.push_operation(deleted_val)
      return self.out_val.pop_operation()

class Stack_structure:
   def __init__(self):
      self.items = []

   def check_empty(self):
      return self.items == []

   def push_operation(self, data):
      self.items.append(data)

   def pop_operation(self):
      return self.items.pop()

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':
      if my_instance.check_empty():
         print('The queue is empty')
      else:
         deleted_elem = my_instance.dequeue_operation()
         print('The deleted element is : ', int(deleted_elem))
   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 23
enqueue <value>
dequeue
quit
What operation would you like to perform ?enqueue 78
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

स्पष्टीकरण

  • एक 'क्यू_स्ट्रक्चर' परिभाषित किया गया है, जो स्टैक के दो उदाहरणों को परिभाषित करता है।

  • इसमें 'check_empty' नाम की एक विधि है जो यह देखने के लिए जाँच करती है कि कतार खाली है या नहीं।

  • 'enqueue_operation' नाम की एक अन्य विधि परिभाषित है, जो कतार में तत्वों को जोड़ने में मदद करती है।

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

  • एक और 'स्टैक_स्ट्रक्चर' वर्ग बनाया गया है।

  • यह एक खाली सूची को इनिशियलाइज़ करता है।

  • इसमें 'check_empty' नाम की एक विधि है जो यह देखने के लिए जाँच करती है कि स्टैक खाली है या नहीं।

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

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

  • एक 'क्यू_स्ट्रक्चर' इंस्टेंस बनाया जाता है।

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

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


  1. यूनिटटेस्ट का उपयोग करते हुए पायथन प्रोग्राम में यूनिट टेस्टिंग

    इस लेख में, हम पायथन 3.x में उपलब्ध यूनिटेस्ट मॉड्यूल की मदद से सॉफ्टवेयर परीक्षण के मूल सिद्धांतों के बारे में जानेंगे। या जल्दी। यह स्वचालन, परीक्षण के लिए सेटअप और निकास कोड साझा करने और प्रत्येक ढांचे के लिए स्वतंत्र परीक्षण की अनुमति देता है। इकाई परीक्षण में, हम वस्तु उन्मुख अवधारणाओं की एक व

  1. यूनिटटेस्ट का उपयोग करके पायथन में यूनिट परीक्षण

    इस लेख में, हम पायथन 3.x में उपलब्ध यूनिट टेस्ट मॉड्यूल की मदद से सॉफ्टवेयर परीक्षण के मूल सिद्धांतों के बारे में जानेंगे। या जल्दी। यह स्वचालन, परीक्षण के लिए सेटअप और निकास कोड साझा करने और प्रत्येक ढांचे के लिए स्वतंत्र परीक्षण की अनुमति देता है। इकाई परीक्षणों में, हम विभिन्न प्रकार की वस्तु-उ

  1. कॉनवे का जीवन का खेल पायथन का उपयोग कर रहा है?

    लगभग 1970 में एक ब्रिटिश गणितज्ञ ने अपना गेम ऑफ लाइफ बनाया - जो मूल रूप से जैविक जीवों के एक उपनिवेश के अराजक लेकिन पैटर्न वाले विकास को दर्शाने वाले नियमों का एक समूह है। जीवन का खेल एक द्वि-आयामी ग्रिड है जिसमें जीवित और मृत कोशिकाएं होती हैं। जीवन के खेल के नियम अधिक जनसंख्या :एक कोशिका मर जात