[7급 국가직 자료구조론 2015년 8번]

다음은 연결리스트 스택의 삭제 알고리즘이다. ㉠ ~ ㉢에 들어갈 문장으로 옳게 짝지어진 것은? (단, 스택이 비었을 때 top은 NULL이고, top은 스택의 최상위 노드를 가리키는 포인터이다. 또한 스택이 빈 상태에서 맨 처음 삽입되는 노드의 next는 NULL이다)
typedef struct node{
 	 int key;
	 struct node *next;
} NODE;  // 스택의 노드 구조 
NODE *top = NULL; // 스택의 최상위 노드를 가리키는 포인터
int pop(void) { 
 	 NODE *temp;
	 int ret;
	 if ( ㉠ ) {
		printf("\n Stack underflow.");
		return -1;
	 }
	 ret = top→key; 
	 ㉡ ;
	 ㉢ ;
	 free(temp);
	 return ret;
}
 
㉠
㉡
㉢
①
top→next == NULL
temp = top→next
top = top→next
②
top→next == NULL
temp = top
top→next = temp→next
③
top == NULL
temp = top
top = top→next
④
top == NULL
temp = top→next
top→next = temp→next
자료구조론
  1. ①①
  2. ②②
  3. ③③
  4. ④④

선지를 골라 바로 채점해 보세요.

정답 ③

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고