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

C++ प्रोग्राम: स्टैक इम्प्लीमेंट करना


इस प्रोग्राम में हम देखेंगे कि C++ का उपयोग करके स्टैक कैसे इम्प्लीमेंट करें। एक स्टैक एक एब्सट्रैक्ट डेटा स्ट्रक्चर है जिसमें एलिमेंट्स का संग्रह होता है। स्टैक LIFO मैकेनिज्म इम्प्लीमेंट करता है यानी जो एलिमेंट अंत में पुश किया जाता है वह पहले पॉप होता है। स्टैक में कुछ प्रमुख ऑपरेशन हैं:

  • Push - यह स्टैक के टॉप पर एक डेटा वैल्यू जोड़ता है।

  • Pop - यह स्टैक के टॉप पर मौजूद डेटा वैल्यू को हटाता है।

  • Peek - यह स्टैक के टॉप डेटा वैल्यू को लौटाता है।

एक प्रोग्राम जो ऐरे का उपयोग करके स्टैक इम्प्लीमेंट करता है, निम्नानुसार दिया गया है।

इनपुट: एलिमेंट्स 11, 22, 33, 44, 55, 66 पुश करें
आउटपुट: एलिमेंट्स 66, 55, 44, 33, 22, 11 पॉप करें

एल्गोरिदम

push(item)

Begin
    टॉप पॉइंटर को 1 से बढ़ाएं
    आइटम को टॉप लोकेशन में डालें
End

pop()

Begin
    आइटम = स्टैक से टॉप एलिमेंट
    टॉप पॉइंटर को 1 से घटाएं
    आइटम लौटाएं
End

peek()

Begin
    आइटम = स्टैक से टॉप एलिमेंट
    आइटम लौटाएं
End

उदाहरण कोड

#include <iostream>
using namespace std;

int stack[100], n = 100, top = -1;

void push(int val) {
    if (top >= n - 1)
        cout << "Stack Overflow" << endl;
    else {
        top++;
        stack[top] = val;
    }
}

void pop() {
    if (top <= -1)
        cout << "Stack Underflow" << endl;
    else {
        cout << "The popped element is " << stack[top] << endl;
        top--;
    }
}

void display() {
    if (top >= 0) {
        cout << "Stack elements are:";
        for (int i = top; i >= 0; i--)
            cout << stack[i] << " ";
        cout << endl;
    } else
        cout << "Stack is empty";
}

int main() {
    int ch, val;
    cout << "1) Push in stack" << endl;
    cout << "2) Pop from stack" << endl;
    cout << "3) Display stack" << endl;
    cout << "4) Exit" << endl;
    
    do {
        cout << "Enter choice: " << endl;
        cin >> ch;
        switch (ch) {
            case 1: {
                cout << "Enter value to be pushed:" << endl;
                cin >> val;
                push(val);
                break;
            }
            case 2: {
                pop();
                break;
            }
            case 3: {
                display();
                break;
            }
            case 4: {
                cout << "Exit" << endl;
                break;
            }
            default: {
                cout << "Invalid Choice" << endl;
            }
        }
    } while (ch != 4);
    
    return 0;
}

आउटपुट

1) Push in stack
2) Pop from stack
3) Display stack
4) Exit
Enter choice: 1
Enter value to be pushed: 2
Enter choice: 1
Enter value to be pushed: 6
Enter choice: 1
Enter value to be pushed: 8
Enter choice: 1
Enter value to be pushed: 7
Enter choice: 2
The popped element is 7
Enter choice: 3
Stack elements are: 8 6 2
Enter choice: 5
Invalid Choice
Enter choice: 4
Exit

  1. - C++ प्रोग्राम: ऐरे का उपयोग करके क्यू कार्यान्वयन

    ऐरे आधारित क्यू क्यू FIFO सिद्धांत का पालन करती है। ऐरे कार्यान्वयन में निश्चित आकार की सरणी और front/rear सूचकांक का उपयोग किया जाता है। C++ प्रोग्राम उदाहरण rear) { cout << Queue Underflow << endl; return; } else { cout << Element deleted: <<

  1. - C++ प्रोग्राम: लिंक्ड लिस्ट का उपयोग करके स्टैक कार्यान्वयन

    स्टैक डेटा संरचना स्टैक LIFO (Last In First Out) सिद्धांत का पालन करता है - अंत में डाला गया तत्व पहले निकाला जाता है। मुख्य ऑपरेशन: Push, Pop, Peek। लिंक्ड लिस्ट आधारित स्टैक कार्यान्वयन next; } } cout << endl; } int main() { int ch, val; cout << 1) Push in st

  1. - C++ प्रोग्राम: ऐरे का उपयोग करके स्टैक कार्यान्वयन

    ऐरे आधारित स्टैक निश्चित आकार की सरणी और top सूचकांक का उपयोग करके स्टैक कार्यान्वयन। LIFO सिद्धांत का पालन करता है। C++ प्रोग्राम उदाहरण = MAX - 1) cout << Stack Overflow << endl; else { top++; stack[top] = val; } } void pop() { if (top = 0; i--)