79 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#include <stdio.h>
 | 
						|
#define MAX_SIZE 100
 | 
						|
 | 
						|
int top = -1;
 | 
						|
int stack[MAX_SIZE];
 | 
						|
 | 
						|
void push(int c) {
 | 
						|
    if (top < MAX_SIZE - 1) {
 | 
						|
        stack[++top] = c;
 | 
						|
    } else {
 | 
						|
        printf("Stack overflow\n");
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
int pop() {
 | 
						|
    if (top >= 0) {
 | 
						|
        return stack[top--];
 | 
						|
    } else {
 | 
						|
        printf("Stack underflow\n");
 | 
						|
        return -1;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
void display() {
 | 
						|
    printf("The stack is: ");
 | 
						|
    for (int i = top; i >= 0; i--) {
 | 
						|
        printf("%d\t", stack[i]);
 | 
						|
    }
 | 
						|
    printf("\n");
 | 
						|
}
 | 
						|
 | 
						|
int isEmpty() {
 | 
						|
    return top == -1;
 | 
						|
}
 | 
						|
 | 
						|
int peek() {
 | 
						|
    if (!isEmpty()) {
 | 
						|
        return stack[top];
 | 
						|
    } else {
 | 
						|
        printf("Stack is empty\n");
 | 
						|
        return -1;
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
int main() {
 | 
						|
    int choice;
 | 
						|
    while (1) {
 | 
						|
        printf("1. Push\n2. Pop\n3. Display\n4. Peek\n5. Check if Empty\n6. Exit\n");
 | 
						|
        scanf("%d", &choice);
 | 
						|
        switch (choice) {
 | 
						|
            case 1:
 | 
						|
                printf("Enter an element: ");
 | 
						|
                int element;
 | 
						|
                scanf("%d", &element);
 | 
						|
                push(element);
 | 
						|
                break;
 | 
						|
            case 2:
 | 
						|
                printf("The top element is: %d\n", pop());
 | 
						|
                break;
 | 
						|
            case 3:
 | 
						|
                display();
 | 
						|
                break;
 | 
						|
            case 4:
 | 
						|
                printf("The top element is: %d\n", peek());
 | 
						|
                break;
 | 
						|
            case 5:
 | 
						|
                if (isEmpty()) {
 | 
						|
                    printf("Stack is empty\n");
 | 
						|
                } else {
 | 
						|
                    printf("Stack is not empty\n");
 | 
						|
                }
 | 
						|
                break;
 | 
						|
            case 6:
 | 
						|
                return 0;
 | 
						|
            default:
 | 
						|
                printf("Invalid choice.\n");
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |