쌓다, 쌓이다, 포개지다
자료구조의 한 종류로 스택은 데이터를 계속 해서 쌓아 놓은 것을 말한다. 자료의 입출력이 한 방향에서만 이루어진다.
LIFO(Last In First Out)
접시를 바닥에서부터 하나씩 쌓을 경우 맨 아래의 접시를 꺼내기 위해서는 위에 쌓인 접시들을 모두 꺼내어야한다. 이처럼 데이터(접시)가 스택에 쌓여있기 때문에 가장 먼저 삽입된 데이터를 사용하기 위해서는 뒤에 들어온 데이터들을 모두 꺼내야한다. 이를 한 쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형 구조(LIFO, Last In First Out)라고 한다.
컴퓨터에서 자료구조 Stack은 어떤 곳에 사용되고 있을까? 대표적으로 우리가 자주 사용하는 브라우저의 뒤로 가기, 앞으로 가기 기능을 구현할 때 자료구조 Stack이 활용된다.
차례를 기다리는 사람이나 승용차의 열
한 방향에서 입력이 이뤄지고, 그 반대편 방향에서 출력이 이루어지는 자료구조
FIFO(First In First Out)
스택과는 상반되는 자료구조이다. 은행에 가서 번호표를 뽑고 순서를 기다린다. 가장 먼저 도착해서 번호표를 뽑고 기다리고 있는 사람부터 시작해서 가장 먼저 나간다. 이처럼 먼저 들어온 데이터가 먼저 사용되는 것을 선입선출(FIFO, First In First Out)이라고 한다.
컴퓨터와 연결된 프린터에서 여러 문서를 순서대로 인쇄하려면 어떻게 해야 할까?
컴퓨터(출력 버튼) - (임시 기억 장치의) Queue에 하나씩 들어옴 - Queue에 들어온 문서를 순서대로 인쇄
만약 Queue에 들어온 순서대로 출력하지 않는다면, 인쇄 결과물이 뒤죽박죽일 것이다.
연속으로 포스팅 두개라... 이거 귀하네요..