Stack Queue Using Array
Stack Queue Using Array
#include <stdio.h>
#include <stdlib.h>
int queue[SIZE];
if (rear == SIZE - 1)
printf("Queue is full!\n");
else {
if (front == -1)
front = 0;
rear++;
queue[rear] = value;
void dequeue() {
if (front == -1)
printf("Queue is empty!\n");
else {
front++;
if (front > rear)
void display() {
if (front == -1)
printf("Queue is empty!\n");
else {
printf("\n");
int main() {
while (1) {
scanf("%d", &choice);
switch (choice) {
case 1:
scanf("%d", &value);
enqueue(value);
break;
case 2:
dequeue();
break;
case 3:
display();
break;
case 4:
exit(0);
default:
printf("Invalid choice!\n");
return 0;
#define MAX 10
int stack[MAX];
int top = -1;
int pop() {
if (top == -1) {
printf("Stack Underflow\n");
return -1;
} else {
return stack[top--];
}
}
int peek() {
if (top == -1) {
printf("Stack is empty\n");
return -1;
} else {
return stack[top];
}
}
int isEmpty() {
return top == -1;
}
int isFull() {
return top == MAX - 1;
}
int main() {
push(10);
push(20);
push(30);
printf("Top element is %d\n", peek());
printf("Stack full: %s\n", isFull() ? "true" : "false");
printf("Stack empty: %s\n", isEmpty() ? "true" : "false");
printf("Popped element is %d\n", pop());
printf("Top element is %d\n", peek());
return 0;
}