스택
- 데이터를 제한적으로 접근 할 수 있는 구조
- 책 쌓기 처럼 맨위에 쌓인 책을 먼저 꺼내는
- 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--;
}
}