93 lines
2.1 KiB
Java
93 lines
2.1 KiB
Java
class Stack {
|
|
private int[] array;
|
|
private int top;
|
|
|
|
public Stack(int capacity) {
|
|
array = new int[capacity];
|
|
top = -1;
|
|
}
|
|
|
|
public void push(int item) {
|
|
if (top == array.length - 1) {
|
|
System.out.println("Stack Overflow");
|
|
} else {
|
|
array[++top] = item;
|
|
System.out.println("Pushed " + item + " to the stack");
|
|
}
|
|
}
|
|
|
|
public int pop() {
|
|
if (top == -1) {
|
|
System.out.println("Stack Underflow");
|
|
return -1;
|
|
} else {
|
|
int item = array[top--];
|
|
System.out.println("Popped " + item + " from the stack");
|
|
return item;
|
|
}
|
|
}
|
|
|
|
public boolean isEmpty() {
|
|
return top == -1;
|
|
}
|
|
}
|
|
|
|
class Queue {
|
|
private int[] array;
|
|
private int front;
|
|
private int rear;
|
|
private int size;
|
|
|
|
public Queue(int capacity) {
|
|
array = new int[capacity];
|
|
front = 0;
|
|
rear = -1;
|
|
size = 0;
|
|
}
|
|
|
|
public void enqueue(int item) {
|
|
if (size == array.length) {
|
|
System.out.println("Queue is full");
|
|
} else {
|
|
rear = (rear + 1) % array.length;
|
|
array[rear] = item;
|
|
size++;
|
|
System.out.println("Enqueued " + item + " to the queue");
|
|
}
|
|
}
|
|
|
|
public int dequeue() {
|
|
if (size == 0) {
|
|
System.out.println("Queue is empty");
|
|
return -1;
|
|
} else {
|
|
int item = array[front];
|
|
front = (front + 1) % array.length;
|
|
size--;
|
|
System.out.println("Dequeued " + item + " from the queue");
|
|
return item;
|
|
}
|
|
}
|
|
|
|
public boolean isEmpty() {
|
|
return size == 0;
|
|
}
|
|
}
|
|
|
|
public class P1 {
|
|
public static void main(String[] args) {
|
|
Stack stack = new Stack(5);
|
|
stack.push(1);
|
|
stack.push(2);
|
|
stack.pop();
|
|
stack.pop();
|
|
stack.pop();
|
|
|
|
Queue queue = new Queue(5);
|
|
queue.enqueue(1);
|
|
queue.enqueue(-4);
|
|
queue.dequeue();
|
|
queue.dequeue();
|
|
}
|
|
}
|