Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package eg.edu.alexu.csd.datastructure.stack;
- public class Stack implements IStack {
- int capacity = 2;
- Object[] stack = new Object[capacity];
- int top = 0;
- public int size() {
- return top;
- }
- public void push(Object element) {
- if (size() == capacity)
- expand();
- stack[top] = element;
- top++;
- }
- private void expand() {
- int length = size();
- Object newstack[] = new Object[capacity * 2];
- System.arraycopy(stack, 0, newstack, 0, length);
- stack = newstack;
- capacity *= 2;
- }
- public Object pop() {
- if (isEmpty()) {
- System.out.println("Stack is Empty!");
- return null;
- } else {
- Object data = stack[top - 1];
- stack[top - 1] = 0;
- top--;
- return data;
- }
- }
- public Object peek() {
- if(isEmpty()) {
- return null;
- }
- else {
- Object data = stack[top - 1];
- top--;
- return data;
- }
- }
- public boolean isEmpty() {
- if (size() == 0)
- return true;
- else
- return false;
- }
- public void show() {
- for (Object n : stack) {
- System.out.println( n);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement