스택(Stack)과 큐(Queue)
2021. 1. 23. 23:56
반응형
스택(Stack)과 큐(Queue) 란?
- 기본 자료구조 중 하나이다.
- 이 때, 자료구조란 데이터를 표현하고 관리하고 처리하기 위한 구조를 의미한다.
- 스택과 큐 는 두 핵심적인 함수로 구성된다.
- 삽입(Push) : 데이터를 삽입한다.
- 삭제(Pop) : 데이터를 삭제한다.
스택(Stack)
- 스택은 박스 쌓기에 비유가능하다.
- 나중에 쌓아올린 박스가 제일 먼저 꺼낼 수 있다.
- 후입선출(LIFO), 선입후출(FILO) 구조라고 한다.
public static void main(String[] args) {
Stack<Integer> stack = new Stack<Integer>();
stack.push(1); //스택에 1을 삽입
stack.push(2); //스택에 2를 삽입
stack.push(3); //스택에 3을 삽입
stack.pop(); //스택에 제일 위에서 하나를 삭제(3을 삭제)
stack.peek(); //스택에 제일 윗단에 있는 원소를 엿보기(2를 엿본다)
}
큐(Queue)
- 큐는 공항검색대에 비유가 가능하다.
- 먼저들어간 사람이 먼저 나온다.
- 선입선출(FIFO) 구조라고 한다.
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
queue.offer(1); //큐에 1을 삽입한다.
queue.offer(2); //큐에 2를 삽입한다.
queue.offer(3); //큐에 3을 삽입한다.
Integer poll = queue.poll(); //큐에서 제일 왼쪽에 삽입된 원소를 삭제하고 반환(1을 반환)
Integer peek = queue.peek(); //큐에서 제일 왼쪽에 삽입된 원소를 엿본다.(2을 엿봄)
queue.remove(); //큐에서 제일 왼쪽에 삽입된 원소를 삭제한다.(1 삭제)
}
반응형