Advertisement
Guest User

Untitled

a guest
Feb 25th, 2020
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.01 KB | None | 0 0
  1. import java.util.Arrays;
  2.  
  3. public class ArrayStack {
  4.     private int size;
  5.     private Object[] elements = new Object[5];
  6.  
  7.     public void push(Object element) {
  8.         assert element != null;
  9.  
  10.         ensureCapacity(size + 1);
  11.         elements[size++] = element;
  12.     }
  13.  
  14.     private void ensureCapacity(int capacity) {
  15.         if (capacity > elements.length) {
  16.             elements = Arrays.copyOf(elements, 2 * capacity);
  17.         }
  18.     }
  19.  
  20.     public Object pop() {
  21.         assert size > 0;
  22.  
  23.         Object value = peek();
  24.         elements[--size] = 0;
  25.         return value;
  26.     }
  27.  
  28.     public Object peek() {
  29.         assert size > 0;
  30.  
  31.         return elements[size - 1];
  32.     }
  33.  
  34.     public int size() {
  35.         return size;
  36.     }
  37.  
  38.     public boolean isEmpty() {
  39.         return size == 0;
  40.     }
  41.  
  42.     public ArrayStack makeCopy() {
  43.         final ArrayStack copy = new ArrayStack();
  44.         copy.size = size;
  45.         copy.elements = Arrays.copyOf(elements, size);
  46.         return copy;
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement