Untitled

 avatar
unknown
plain_text
a year ago
1.7 kB
46
Indexable
#include <stdio.h>
#define MAX 5

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

// Function to push an element
void push(int value) {
    if (top == MAX - 1) {
        printf("Stack Overflow! Cannot push %d\n", value);
    } else {
        stack[++top] = value;
        printf("%d pushed to stack\n", value);
    }
}

// Function to pop an element
int pop() {
    if (top == -1) {
        printf("Stack Underflow! Cannot pop\n");
        return -1;
    } else {
        int value = stack[top--];
        printf("%d popped from stack\n", value);
        return value;
    }
}

// Function to peep (peek) at the top element
int peep() {
    if (top == -1) {
        printf("Stack is empty\n");
        return -1;
    } else {
        printf("Top element is %d\n", stack[top]);
        return stack[top];
    }
}

int main() {
    int choice, value;

    do {
        printf("\n===== Stack Menu =====\n");
        printf("1. Push\n");
        printf("2. Pop\n");
        printf("3. Peep (Peek)\n");
        printf("0. Exit\n");
        printf("Enter your choice: ");
        scanf("%d", &choice);

        switch(choice) {
            case 1:
                printf("Enter value to push: ");
                scanf("%d", &value);
                push(value);
                break;
            case 2:
                pop();
                break;
            case 3:
                peep();
                break;
            case 0:
                printf("Exiting program...\n");
                break;
            default:
                printf("Invalid choice! Please try again.\n");
        }

    } while (choice != 0);

    return 0;
}
Editor is loading...
Leave a Comment