Stack 구현 in Java

Purple·2021년 9월 16일
0

JAVA

목록 보기
7/8
interface Stack {
    void push(int data);
    int pop();
    void printStack();
}

public class StackUseArray implements Stack{
    private int top;
    private int stackArr[];
    private int arrSize;

    public StackUseArray(int arrSize) {
        this.top = -1;
        this.arrSize = arrSize;
        stackArr = new int[arrSize];
    }

    @Override
    public void push(int data) {
        stackArr[++top] = data;
    }

    @Override
    public int pop() {
        if (top == -1) {
            System.out.println("empty");
            return 0;
        }
        else {
            int res = stackArr[top--];
            return res;
        }
    }

    @Override
    public void printStack() {
        for(int i=0; i<=top; i++) {
            System.out.print(stackArr[i]);
        }
        System.out.println();
    }

    public static void main(String[] args)  {
        int arrSize = 10;
        Stack stack = new StackUseArray(arrSize);
        stack.push(1);
        stack.push(2);
        stack.push(3);
        stack.printStack();

        stack.pop();
        stack.pop();
        stack.printStack();
        stack.pop();
    }


}
  • public void push(int data) : top에 1을 더하고, top이 가리키는 위치에 data를 넣는다.
  • public int pop() : top이 가리키고 있는 것을 return하고, top에서 1을 뺀다.

출력)

profile
안녕하세요.

0개의 댓글