모두CBT

다음 C 코드는 단순 연결 리스트를 이용하여 스택의 pop() 함수를 … | [7급 국가직 자료구조론] 22년 1회차 기출문제 상세 페이지

1[7급 국가직 자료구조론] 22년 1회차
다음 C 코드는 단순 연결 리스트를 이용하여 스택의 pop() 함수를 구현한 것이다. (가), (나)에 들어갈 내용을 바르게 연결한 것은?
struct stack {
int data;
struct stack* link;
};
struct stack* top = NULL;
int pop(){
struct stack* temp = top;
int item;
if (!temp){
printf("Stack is empty.\n");
exit(1);
}
item = temp->data;
[ (가) ] ;
free(temp);
[ (나) ] ;
}
(가)  (나)
1
temp = temp->link  return item
2
temp = temp->link  return top->data
3
top = temp->link  return item
4
top = temp->link  return top->data
해설

(가) top = temp->link, (나) return item이다.

pop은 top을 다음 노드로 옮긴 뒤 원래 top 노드(temp)를 해제하고, 미리 저장해 둔 item을 반환해야 한다.

  • temp = temp->link, return item: temp가 다음 노드로 바뀌어 엉뚱한 노드를 해제하고 top도 갱신되지 않는다.
  • temp = temp->link, return top->data: top이 갱신되지 않고 엉뚱한 노드를 해제한다.
  • top = temp->link, return top->data: 꺼낸 값이 아니라 새 top의 값을 반환하며, 스택이 비면 NULL을 참조한다.

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

이어서 풀어보기

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