← Back

Home › Hindi › Stack PUSH POP program

Python में Stack (PUSH, POP और PEEK) Program Hindi में — Class 12 Board Exam Guide

🌐 यह page Hindi में है · Python lists and dictionaries guide in English →

CBSE Class 12 (3–4 अंक पक्के)LIFO · PUSH · POP · UnderflowBoard Pattern Dictionary Stack

Stack क्या होता है? (LIFO नियम 30 सेकंड में)

Stack एक रैखिक डेटा स्ट्रक्चर (Linear Data Structure) है जो LIFO (Last In, First Out) के सिद्धांत पर काम करता है — ठीक वैसे ही जैसे शादी में रखी प्लेटों की गड्डी या मेज़ पर रखी किताबों का ढेर। जो प्लेट सबसे आखिर में ऊपर रखी जाती है, वही सबसे पहले बाहर निकलती है।

CBSE Class 12 Computer Science (083) के हर बोर्ड पेपर में 3 से 4 अंकों का एक सीधा प्रोग्रामिंग प्रश्न Python की साधारण list की मदद से Push() और Pop() फ़ंक्शन लिखने पर आता है। नीचे पहले मूल अवधारणा और फिर बोर्ड परीक्षा का असली पैटर्न दिया गया है।

Python List में Stack के चारों मुख्य ऑपरेशन

Python में अलग से Stack क्लास इम्पोर्ट करने की ज़रूरत नहीं होती — साधारण list का आखिरी सिरा (दाहिना छोर) ही हमारा TOP बन जाता है क्योंकि वहाँ से जोड़ना और निकालना दोनों O(1) समय में होता है:

stack = []

def push_item(stk, val):
    stk.append(val)
    print(val, "pushed to stack")

def pop_item(stk):
    if len(stk) == 0:
        print("Stack Empty / Underflow")
        return None
    return stk.pop()

def peek_item(stk):
    if not stk:
        return "Stack Empty"
    return stk[-1]

push_item(stack, 10)
push_item(stack, 20)
print("Top right now:", peek_item(stack))  # 20
print("Popped:", pop_item(stack))          # 20
print("Popped:", pop_item(stack))          # 10
print("Popped:", pop_item(stack))          # Stack Empty / Underflow

CBSE Class 12 Board Exam का असली प्रश्न पैटर्न (Dictionary से Conditional Push)

बोर्ड परीक्षा में सादा संख्या जोड़ने को नहीं कहा जाता — वहाँ एक शब्दकोश (dictionary) या नेस्टेड लिस्ट देकर शर्त के साथ Push और पूरा खाली करने वाला Pop लिखने को कहा जाता है। इस नमूना सवाल को ध्यान से देखो:

प्रश्न: R = {"OM": 76, "JAI": 45, "BOB": 89, "ALI": 65, "ANU": 90} नाम का एक शब्दकोश दिया है, जिसमें छात्रों के नाम और अंक हैं। दो फ़ंक्शन लिखिए:
1) PUSH(S, R) — उन छात्रों के नाम stack S में डाले जिनके अंक 75 से अधिक हैं।
2) POP_ALL(S) — एक-एक करके सारे नाम निकाले व छापे, और अंत में "Stack Empty" छापे।

R = {"OM": 76, "JAI": 45, "BOB": 89, "ALI": 65, "ANU": 90}
S = []

def PUSH(S, R):
    for name, marks in R.items():
        if marks > 75:
            S.append(name)

def POP_ALL(S):
    while True:
        if len(S) == 0:
            print("Stack Empty")
            break
        print(S.pop(), end=" ")

PUSH(S, R)
POP_ALL(S)
# Output: ANU BOB OM Stack Empty

ध्यान दें कि आउटपुट उल्टे क्रम में क्यों आया: पहले OM गया, फिर BOB, और सबसे अंत में ANU ऊपर रखा गया। LIFO नियम के कारण जब pop() चला तो सबसे पहले ANU बाहर आया!

परीक्षा में नंबर कटवाने वाली 4 आम गलतियाँ

इस कोड को खुद बदलकर और चलाकर देखने के लिए PyDebug के मुफ़्त ऑनलाइन Python Playground में पेस्ट करें या 30-मिनट का Free Mock Test Paper 1 देकर अपनी गति परखें।

🛠️ Practice करो (free, browser में)

पढ़ना काफी नहीं — यही bug खुद fix करके देखो। नीचे के problems browser में ही चलते हैं, कोई install नहीं, कोई login नहीं।

सारे free problems देखो →

अक्सर पूछे जाने वाले सवाल

Stack में Underflow कब होता है?

जब stack पूरी तरह खाली हो (len(stack) == 0) और फिर भी उसमें से तत्व निकालने (POP) की कोशिश की जाए, तो उस स्थिति को Underflow कहते हैं।

Python की साधारण list में Overflow क्यों नहीं होता?

क्योंकि Python की list डायनामिक आकार (dynamic array) की होती है जो मेमोरी उपलब्ध रहने तक अपने आप बढ़ती जाती है — जब तक आप खुद अधिकतम आकार (MAX_SIZE) की शर्त न लगाएँ।

Stack और Queue में मुख्य अंतर क्या है?

Stack में LIFO (आखिर में गया तत्व पहले बाहर: append और pop()) चलता है, जबकि Queue में FIFO (पहले आया तत्व पहले बाहर) चलता है।

आगे पढ़ो