Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package stackdemo;
- public class ArrayStackDemo {
- //Demo
- public static void main(String args[]) {
- StackInt demoStack = new StackInt();
- for (int i = 0; i < demoStack.size(); i++) {
- demoStack.push(i);
- System.out.println(demoStack.pop());
- }
- }
- }
- package stackdemo;
- import java.util.Arrays;
- import java.util.EmptyStackException;
- public class StackInt {
- //Instance variables
- private int[] numberStack;
- int topOfStack = -1; //Empty stack
- private int capacity;
- private final int INITIAL_CAPACITY = 10;
- //Default constructer
- public StackInt() {
- capacity = INITIAL_CAPACITY;
- numberStack = new int[capacity];
- }
- //Size method
- public int size() {
- return capacity;
- }
- //Empty method
- public boolean empty() {
- if (topOfStack == -1) {
- return true;
- }
- return false;
- }
- //Push method
- public int push(int obj) {
- if (topOfStack == numberStack.length - 1) {
- reallocate();
- }
- topOfStack++;
- numberStack[topOfStack] = obj;
- return obj;
- }
- //Reallocate method
- public void reallocate() {
- capacity = 2 * capacity;
- numberStack = Arrays.copyOf(numberStack, capacity);
- }
- //Pop method
- public int pop() {
- if (empty()) {
- throw new EmptyStackException();
- }
- return numberStack[topOfStack--];
- }
- //Peek method
- public int peek() {
- if (empty()) {
- throw new EmptyStackException();
- }
- return numberStack[topOfStack];
- }
- }
- src/
- stackdemo/
- ArrayStackDemo.java
- StackInt.java
- bin/
- javac -s src -d bin src/stackdemo/*.java
- bin/
- stackdemo/
- ArrayStackDemo.class
- StackInt.class
- java -cp bin stackdemo.ArrayStackDemo
- java -cp . stackdemo.ArrayStackDemo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement