우선 스택은 LIFO (last in first out)
큐는 FIFO(First in first out)이다.
스택은 밑이 막힌통에 차례대로 저장을 하고 가장 위에서 부터 꺼내는 구조
큐는 뻥 뚫린 통에 저장을 하고 넣은 순서대로 값이 빠져나오는 구조.
스택의 예
C에서 함수를 호출할 때, 현재 함수에서 사용되는 값을 스택에 집어넣고 부르는 함수에 쓰일 값들에 대한 작업을 시작합니다. 작업이 끝나면, 함수를 리턴하고 스택에 넣었던 값을 꺼냅니다. 이렇게 하면 함수가 호출되기 이전의 상태로 복원 시킬 수 있습니다.
큐의 예
키보드 입력이 있다. 키보들 값을 임력하면 임시 버퍼에 쌓이게 된다.
프로그래밍에서는 이 입력 값을 이용하기 위해 입력된 순서대로 값을 꺼내오게 된다.