데이터를 쌓아 올린 형태의 자료 구조입니다.
데이터를 추가할 때는 스택의 맨 위에 추가하고, 삭제할 때는 맨 위의 데이터부터 삭제합니다.
이러한 방식을 후입선출(Last-In-First-Out, LIFO)
이라고 합니다.
stack.push(0);
stack.push(1);
stack.push(2);
stack.pop(); //2
stack.pop(); //1
stack.pop(); //0
큐(Queue)는 데이터를 일렬로 늘어놓은 형태의 자료 구조입니다.
데이터를 추가할 때는 큐의 끝에 추가하고, 삭제할 때는 큐의 맨 앞에서부터 삭제합니다.
이러한 방식을 선입선출(First-In-First-Out, FIFO)
이라고 합니다.
Double-ended Queue의 약어로, 양쪽 끝에서 데이터의 추가와 삭제가 모두 가능한 자료 구조입니다.
큐와 스택을 합친 것과 같은 형태로, 데이터의 추가와 삭제 방법은 큐와 스택 중 선택하여 사용할 수 있습니다.