스택은 먼저 삽입된 데이터가 먼저 삭제되는 FIFO(First-In First-Out) 구조이다.
오답 이유스택은 FIFO가 아니라 LIFO이다. A를 넣고 B를 넣었다면 B를 먼저 꺼낸다.
2
큐는 나중에 삽입된 데이터가 먼저 삭제되는 LIFO(Last-In First-Out) 구조이다.
오답 이유큐는 LIFO가 아니라 FIFO이다. A를 넣고 B를 넣었다면 A를 먼저 꺼낸다.
3
시스템 스택은 프로그램 실행 시 함수의 호출과 복귀에 따른 실행 순서를 관리할 수 있다.
정답 근거함수 호출 시 복귀 주소와 실행 상태를 스택에 저장하고, 가장 최근 호출한 함수부터 복귀하며 꺼내므로 중첩 호출의 실행 순서를 관리할 수 있다.
4
큐는 배열(array)을 사용하여 구현할 수 없다.
오답 이유큐는 배열로 구현할 수 있다. front와 rear 인덱스로 입출력 위치를 관리하며 원형 배열을 사용하면 비워진 앞부분 공간도 재사용할 수 있다.
정답·상세해설
정답 3번
스택은 가장 나중에 넣은 항목을 먼저 꺼내는 LIFO 구조다. 함수 A가 B를 호출하고 B가 C를 호출하면 C→B→A 순서로 복귀하므로 스택에 복귀 주소와 실행 상태를 저장해 이 순서를 관리할 수 있다. 큐는 먼저 넣은 항목을 먼저 꺼내는 FIFO이며 배열로도 구현할 수 있다.