[7급 국가직 자료구조론 2020년 20번]

다음은 원형 연결 리스트(circular linked list)의 맨 앞에 insert_node가 지정하는 노드를 삽입하는 C 언어 함수이다. ㉠, ㉡에 들어갈 내용을 바르게 연결한 것은? (단, last_ptr은 마지막 노드를 지정하는 포인터 변수를 가리키는 주소 값을 가진다)
struct node {
	int data;
	struct node *link;
};
typedef struct node *node_ptr;

void InsertFront(node_ptr *last_ptr, 
			node_ptr insert_node){
	if (*last_ptr == NULL) {
		*last_ptr = insert_node;
		             ㉠             
	}
	else {
		insert_node->link = (*last_ptr)->link;
		             ㉡             
	}
}
㉠ ㉡
자료구조론
  1. ①insert_node = insert_node->link; (*last_ptr) = insert_node;
  2. ②insert_node = insert_node->link; (*last_ptr)->link = insert_node;
  3. ③
    insert_node->link = insert_node;		(*last_ptr) = insert_node;
  4. ④
    insert_node->link = insert_node;		(*last_ptr)->link = insert_node;

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

정답 ④

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

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

오류 신고