- Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathStackImplementation.java
More file actions
Latest commit
88 lines (70 loc) · 1.83 KB
/
Copy pathStackImplementation.java
File metadata and controls
88 lines (70 loc) · 1.83 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
// Stack implementation in Java
classStack {
// store elements of stack
privateintarr[];
// represent top of stack
privateinttop;
// total capacity of the stack
privateintcapacity;
// Creating a stack
Stack(intsize) {
// initialize the array
// initialize the stack variables
arr = newint[size];
capacity = size;
top = -1;
}
// push elements to the top of stack
publicvoidpush(intx) {
if (isFull()) {
System.out.println("Stack OverFlow");
// terminates the program
System.exit(1);
}
// insert element on top of stack
System.out.println("Inserting " + x);
arr[++top] = x;
}
// pop elements from top of stack
publicintpop() {
// if stack is empty
// no element to pop
if (isEmpty()) {
System.out.println("STACK EMPTY");
// terminates the program
System.exit(1);
}
// pop element from top of stack
returnarr[top--];
}
// return size of the stack
publicintgetSize() {
returntop + 1;
}
// check if the stack is empty
publicBooleanisEmpty() {
returntop == -1;
}
// check if the stack is full
publicBooleanisFull() {
returntop == capacity - 1;
}
// display elements of stack
publicvoidprintStack() {
for (inti = 0; i <= top; i++) {
System.out.print(arr[i] + ", ");
}
}
publicstaticvoidmain(String[] args) {
Stackstack = newStack(5);
stack.push(1);
stack.push(2);
stack.push(3);
System.out.print("Stack: ");
stack.printStack();
// remove element from stack
stack.pop();
System.out.println("\nAfter popping out");
stack.printStack();
}
}