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

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


ऐरे आधारित स्टैक

निश्चित आकार की सरणी और top सूचकांक का उपयोग करके स्टैक कार्यान्वयन। LIFO सिद्धांत का पालन करता है।

C++ प्रोग्राम उदाहरण

#include <iostream>
using namespace std;

const int MAX = 100;
int stack[MAX];
int top = -1;

void push(int val) {
    if (top >= MAX - 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: ";
        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

कोड व्याख्या

push() फ़ंक्शन

ओवरफ्लो जांचता है (top >= MAX-1)। top बढ़ाकर नया मान स्टोर करता है।

pop() फ़ंक्शन

अंडरफ्लो जांचता है (top <= -1)। शीर्ष तत्व प्रदर्शित करके top घटाता है।

display() फ़ंक्शन

top से 0 तक लूप करके सभी तत्व प्रदर्शित करता है।

लिंक्ड लिस्ट बनाम ऐरे स्टैक

विशेषताऐरे स्टैकलिंक्ड लिस्ट स्टैक
आकारनिश्चितगतिशील
मेमोरीपूर्व-आवंटितआवश्यकतानुसार
ओवरफ्लोसंभवदुर्लभ (हीप सीमा तक)
  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++ प्रोग्राम: सॉर्टेड ऐरे कार्यान्वयन (सिलेक्शन सॉर्ट)

    सॉर्टेड ऐरे ऐरे जिसमें तत्व क्रमबद्ध क्रम में हों (संख्यात्मक, वर्णानुक्रमिक, आदि)। कई सॉर्टिंग एल्गोरिदम: बबल सॉर्ट, इन्सर्शन सॉर्ट, सिलेक्शन सॉर्ट, मर्ज सॉर्ट, क्विक सॉर्ट, हीप सॉर्ट। सिलेक्शन सॉर्ट अनसॉर्टेड भाग में सबसे छोटा तत्व ढूंढकर उसे शुरुआत से स्वैप करता है। O(n²) समय जटिलता। C++ प्रोग