개발햄비

[자료구조] java stack 구현하기 (2) 본문

개발/java

[자료구조] java stack 구현하기 (2)

개발햄 2019. 3. 10. 19:47

배열을 이용한 구현


리스트와 마찬가지로 스택을 구현하는 방법은 배열과 연결 리스트가 있는데 먼저 배열을 이용하여 구현해본다.


배열에 실제 데이터를 저장하기 때문에 데이터를 저장할 배열이 하나 필요,


스택의 최대 크기를 저장할 변수와 스택의 입출력 데이터를 가리키는 top을 관리하기 위한 변수가 필요.




package testProject;

public class StackTestClass {


private int top;

private int maxSize;

private int[] stackArray;


public StackTestClass (int size) {

maxSize = size;

top = -1;

stackArray = new int[maxSize];

}

public void push(int value) {

stackArray[++top] = value;

}


public int peek() {

return stackArray[top];

}

public int pop() {

return stackArray[top--];

}

}


public class test {

public static void main(String[] args) {

StackTestClass stack = new  StackTestClass(5);


stack.push(1);

System.out.println(stack.peek());


stack.push(2);

System.out.println(stack.peek());


stack.push(3);

System.out.println(stack.peek());


stack.push(4);

System.out.println(stack.peek());


stack.push(5);

System.out.println(stack.peek());


stack.pop();

System.out.println(stack.peek());


stack.pop();

System.out.println(stack.peek());


stack.pop();

System.out.println(stack.peek());

stack.pop();

System.out.println(stack.peek());


}

}

출력

---------------------------------------------------------------------

1

2

3

4

5

4

3

2

1

---------------------------------------------------------------------