diff --git a/stack_using_array.java b/stack_using_array.java new file mode 100644 index 0000000..add8b6d --- /dev/null +++ b/stack_using_array.java @@ -0,0 +1,65 @@ +/* Java program to implement basic stack +operations */ +class Stack { + static final int MAX = 1000; + int top; + int a[] = new int[MAX]; // Maximum size of Stack + + boolean isEmpty() + { + return (top < 0); + } + Stack() + { + top = -1; + } + + boolean push(int x) + { + if (top >= (MAX - 1)) { + System.out.println("Stack Overflow"); + return false; + } + else { + a[++top] = x; + System.out.println(x + " pushed into stack"); + return true; + } + } + + int pop() + { + if (top < 0) { + System.out.println("Stack Underflow"); + return 0; + } + else { + int x = a[top--]; + return x; + } + } + + int peek() + { + if (top < 0) { + System.out.println("Stack Underflow"); + return 0; + } + else { + int x = a[top]; + return x; + } + } +} + + +class Main { + public static void main(String args[]) + { + Stack s = new Stack(); + s.push(10); + s.push(20); + s.push(30); + System.out.println(s.pop() + " Popped from stack"); + } +}