모두CBT

다음과 같이 배열을 이용하여 스택 자료구조를 정의하였다. ㉠, ㉡에 들… | [7급 국가직 자료구조론] 21년 1회차 기출문제 상세 페이지

1[7급 국가직 자료구조론] 21년 1회차
다음과 같이 배열을 이용하여 스택 자료구조를 정의하였다. ㉠, ㉡에 들어갈 내용을 바르게 연결한 것은?
#define MAX 10
int stack[MAX];
int top = -1;
int push(int t) {
if (top >= MAX - 1) {
printf("\n Stack overflow.");
return -1;
}
stack[ ㉠ ] = t;
return t;
}
int pop(void) {
if (top < 0) {
printf("\n Stack underflow.");
return -1;
}
return stack[ ㉡ ];
}
㉠  ㉡
1
++top  --top
2
++top  top--
3
top++  --top
4
top++  top--
해설

㉠에는 ++top, ㉡에는 top--이 들어간다. top은 -1에서 시작해 항상 맨 위 원소의 위치를 가리킨다.

push는 top을 먼저 1 늘린 뒤 그 자리에 저장하고(전위 증가), pop은 현재 top의 값을 꺼낸 뒤 top을 줄인다(후위 감소).

  • ㉠ ++top, ㉡ --top 조합은 pop이 top을 먼저 줄인 뒤 읽어 맨 위가 아닌 바로 아래 원소를 반환한다.
  • ㉠ top++, ㉡ top-- 조합은 첫 push가 stack[-1]에 저장해 배열 범위를 벗어난다.
  • ㉠ top++, ㉡ --top 조합은 push와 pop 양쪽 모두 접근 위치가 한 칸씩 어긋난다.

오류나 개정된 내용이 보이면 알려주세요

이어서 풀어보기

[7급 국가직 자료구조론] 21년 1회차 25문항 이어서 보기문제·정답·해설을 한 페이지에서 이어서 볼 수 있어요7급 국가직 자료구조론 기출문제 암기장 전체 보기