JAVA를 이용한 스택구현

김상범·2021년 1월 19일
0

스택

  • 데이터를 제한적으로 접근 할 수 있는 구조
  • 책 쌓기 처럼 맨위에 쌓인 책을 먼저 꺼내는
  • LIFO ( Last in First out)

1. 스택 구조

  • 대표적인 스택 활용
    • 컴퓨터 내부의 프로세스 구조의 함수 동작 방식
  • 주요 기능
    • push() : 데이터를 스택에 넣기
    • pop() : 데이터를 스택에서 꺼내기

2. 프로세스 구조로 이해하기

  • 4 → 3→2 ...→-1 까지 호출이 되고 쌓인다.
  • return은 역순으로 한다. -1(종료) → 0(종료)→...→4(종료)

3. 스택의 장점

  • 장점
    • 구조가 단순해서 구현이 쉽다.
    • 데이터 읽기 저장 속도가 빠르다.
  • 단점
    • 데이터 최대 갯수를 미리 정해야 한다.
    • 저장공간의 낭비가 발생할 수가 있다.

4. 스택 구현

public class Stack {
    private int[] array;
    private int point;

    public Stack(int size){
        array = new int[size];
        point = -1;
    }
    public void push(int data){
        array[++point] = data;
        System.out.println("push :" + data);
    }
    public void pop(){
        System.out.println("pop :" + array[point]);
        array[point] = 0;
        point--;
    }
}
profile
아기개발자

0개의 댓글