상세 컨텐츠

본문 제목

[Stack] 배열 구현

본문

Stack 구현방법

  1. 배열
  2. 연결리스트
배열을 이용한 스택구현

Stack 클래스에 인스턴스 변수 선언

(1) arr[] : 모든 element를 저장하기 위한 배열

(2) top : 최상위 element

(3) maxSize : 배열의 크기

    public class Stack<V> {
        private V arr[];
        private int top;
        private int maxSize;

인스턴스의 변수 지정
(1) maxSize : 입력 값으로 배열 크기 지정
(2) top : 배열의 최상위 요소 초기값 지정

    public Stack (int maxSize){
        this.maxSize = maxSize;
        this.top = -1;
        arr = (V[]) new Object[maxSize];
    }

메서드 : 스택 크기 조회

    public int getMaxSize()
        return maxSize;

메서드 : 스택 제거 가능여부 조회

    public boolean isEmpty()
        return top == -1;

메서드 : 스택 삽입 가능여부 조회

    public boolean isFull()
        return top == arr.length-1;

메서드 : 스택 데이터 삭제

    public void pop(V val){
        if(isEmpty()) return;
    arr[top--] = null;

메서드 : 스택 데이터 삽입

    public void push(V val){
        if(isFull()) return;
    arr[top++] = val;

관련글 더보기

댓글 영역