-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStack
More file actions
123 lines (103 loc) · 3.07 KB
/
Copy pathStack
File metadata and controls
123 lines (103 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
import java.util.Scanner;
class Stack {
int[] stack;
int top;
int size;
Stack(int size) {
this.size = size;
stack = new int[size];
top = -1; // means stack is empty
}
// PUSH operation
void push(int value) {
if (top == size - 1) {
System.out.println("Stack Overflow! Cannot push " + value);
return;
}
stack[++top] = value;
System.out.println(value + " pushed to stack.");
}
// POP operation
int pop() {
if (top == -1) {
System.out.println("Stack Underflow! No elements to pop.");
return -1;
}
return stack[top--];
}
// PEEK operation
int peek() {
if (top == -1) {
System.out.println("Stack is empty. Nothing to peek.");
return -1;
}
return stack[top];
}
// CHECK EMPTY
boolean isEmpty() {
return top == -1;
}
// DISPLAY STACK
void display() {
if (top == -1) {
System.out.println("Stack is empty!");
return;
}
System.out.print("Stack elements: ");
for (int i = top; i >= 0; i--) {
System.out.print(stack[i] + " ");
}
System.out.println();
}
}
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("Enter stack size: ");
int size = sc.nextInt();
Stack s = new Stack(size);
boolean run = true;
while (run) {
System.out.println("STACK OPERATIONS");
System.out.println("1. Push");
System.out.println("2. Pop");
System.out.println("3. Peek");
System.out.println("4. Check if Empty");
System.out.println("5. Display Stack");
System.out.println("6. Exit");
System.out.print("Choose an option: ");
int choice = sc.nextInt();
switch (choice) {
case 1:
System.out.print("Enter value to push: ");
s.push(sc.nextInt());
break;
case 2:
int popped = s.pop();
if (popped != -1)
System.out.println("Popped: " + popped);
break;
case 3:
int topValue = s.peek();
if (topValue != -1)
System.out.println("Top element: " + topValue);
break;
case 4:
if (s.isEmpty())
System.out.println("Stack is empty.");
else
System.out.println("Stack is NOT empty.");
break;
case 5:
s.display();
break;
case 6:
run = false;
break;
default:
System.out.println("Invalid choice!");
}
}
sc.close();
}
}