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

Python में फ्रंट, मिडिल और बैक से पुश/पॉप करने वाली क्यू इम्प्लीमेंट करने का प्रोग्राम


मान लीजिए, हमें एक क्यू इम्प्लीमेंट करने के लिए कहा गया है जो फ्रंट, मिडिल, और बैक से मान को पुश और पॉप कर सके।

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

उदाहरण के लिए, यदि इनपुट है:

push_from_back(10)
push_from_back(20)
push_from_front(30)
push_from_middle(40)
push_from_front(50)
show_queue()
pop_from_back()
show_queue()
pop_from_front()
show_queue()
pop_from_middle()
show_queue()
तो आउटपुट होगा:
[50, 30, 40, 10, 20]
[50, 30, 40, 10]
[30, 40, 10]
[30, 10]

समाधान के चरण

  1. array := क्यू का ऐरे प्रतिनिधित्व
  2. push_from_front() फंक्शन परिभाषित करें जो value लेता है:
    • array में स्थिति 0 पर value डालें
  3. push_from_middle() फंक्शन परिभाषित करें जो value लेता है:
    • array में स्थिति len(array) // 2 पर value डालें
  4. push_from_back() फंक्शन परिभाषित करें जो value लेता है:
    • array के अंत में value डालें
  5. pop_from_front() फंक्शन परिभाषित करें:
    • यदि ऐरे खाली नहीं है तो ऐरे से पहला तत्व हटाएं और वापस करें
  6. pop_from_middle() फंक्शन परिभाषित करें:
    • ऐरे से स्थिति (len(array) - 1) // 2 पर तत्व हटाएं और वापस करें
  7. pop_from_back() फंक्शन परिभाषित करें:
    • ऐरे से अंतिम तत्व हटाएं और वापस करें
  8. show_queue() फंक्शन परिभाषित करें जो कोई इनपुट नहीं लेता:
    • array वापस करें

उदाहरण

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

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. Python प्रोग्राम में ऐरे का योग खोजना Python प्रोग्राम में ऐरे का योग खोजना

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

  1. Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना Python प्रोग्राम से ऐरे में सबसे बड़ा तत्व खोजना

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

  1. पायथन प्रोग्राम: ऐरे का योग ढूंढें पायथन प्रोग्राम: ऐरे का योग ढूंढें

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