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

एक कतार को लागू करने का कार्यक्रम जो पायथन में आगे, मध्य और पीछे से धक्का या पॉप कर सकता है

मान लीजिए, हमें एक कतार लागू करने के लिए कहा जाता है जो आगे, मध्य और पीछे मूल्यों को धक्का और पॉप कर सकती है।

हमें तीनों मामलों के लिए पुश और पॉप करने के लिए कार्यों की एक जोड़ी को लागू करना होगा। हमें एक और फ़ंक्शन लागू करना है जो एक निश्चित समय में पूरी कतार दिखाता है।

तो, अगर इनपुट पसंद है

push_from_back(10)

push_from_back(20)

push_from_front(30)

push_from_middle(40)

push_from_front(50)

शो_क्यू ()

pop_from_back()

शो_क्यू ()

pop_from_front ()

शो_क्यू ()

pop_from_middle ()

शो_क्यू (),

तो आउटपुट होगा [50, 30, 40, 10, 20

[50, 30, 40, 10]

[30, 40, 10]

[30, 10]

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

  • सरणी:=कतार का सरणी प्रतिनिधित्व

  • एक फ़ंक्शन को परिभाषित करें push_from_front() । यह मूल्य लेगा

    • 0 की स्थिति में सरणी में मान डालें

  • एक फ़ंक्शन को परिभाषित करें push_from_middle() । यह मूल्य लेगा

    • स्थिति में सरणी में मान डालें (सरणी का आकार) / 2

  • एक फ़ंक्शन को परिभाषित करें push_from_back() । यह मूल्य लेगा

    • सरणी के अंत में मान डालें

  • फ़ंक्शन को परिभाषित करें pop_from_front() ।

    • यदि यह खाली नहीं है तो सरणी से पहला तत्व हटाएं और वापस करें

  • फ़ंक्शन को परिभाषित करें pop_from_middle() ।

    • तत्व को स्थिति में हटाएं और वापस करें (सरणी की लंबाई -1) /2

  • फ़ंक्शन को परिभाषित करें pop_from_back() ।

    • सरणी से अंतिम तत्व हटाएं और वापस करें

  • एक फ़ंक्शन को परिभाषित करें show_queue() । यह कोई इनपुट नहीं लेगा

    • वापसी सरणी

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें

class Solution():

   def __init__(self):
      self.array = []

   def push_from_front(self, value):
      self.array.insert(0, value)

   def push_from_middle(self, value):
      self.array.insert(len(self.array) // 2, value)

   def push_from_back(self, value):
      self.array.append(value)

   def pop_from_front(self):
      return (self.array or [-1]).pop(0)

   def pop_from_middle(self):
      return (self.array or [-1]).pop((len(self.array) - 1) // 2)

   def pop_from_back(self):
      return (self.array or [-1]).pop()

   def show_queue(self):
      return self.array

ob = Solution()
ob.push_from_back(10)
ob.push_from_back(20)
ob.push_from_front(30)
ob.push_from_middle(40)
ob.push_from_front(50)
print(ob.show_queue())
ob.pop_from_back()
print(ob.show_queue())
ob.pop_from_front()
print(ob.show_queue())
ob.pop_from_middle()
print(ob.show_queue())

इनपुट

ob = Solution()
ob.push_from_back(10)
ob.push_from_back(20)
ob.push_from_front(30)
ob.push_from_middle(40)
ob.push_from_front(50)
print(ob.show_queue())
ob.pop_from_back()
print(ob.show_queue())
ob.pop_from_front()
print(ob.show_queue())
ob.pop_from_middle()
print(ob.show_queue())

आउटपुट

[50, 30, 40, 10, 20]
[50, 30, 40, 10]
[30, 40, 10]
[30, 10]

  1. पायथन प्रोग्राम में सरणी का योग ज्ञात करें

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

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

    इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे। समस्या कथन - हमें एक सरणी दी गई है, हमें सरणी के सबसे बड़े तत्व की गणना करने की आवश्यकता है। यहां हम ब्रूटफोर्स दृष्टिकोण का उपयोग करते हैं जिसमें हम पूरे लूप को पार करके सबसे बड़े तत्व की गणना करते हैं और तत्व प्राप्त करते हैं।

  1. सरणी का योग खोजने के लिए पायथन कार्यक्रम

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