다음은 C 언어 구조체와 이를 이용한 이중 연결 리스트(doubly linked list)이다. 포인터 current가 가리키는 노드의 왼쪽 노드를 삭제할 때 수행할 C 언어 문장을 순서대로 바르게 나열한 것은? (단, 삭제 전에 포인터 current가 가리키는 노드의 왼쪽에 최소 2개의 노드가 있다고 가정하며, 삭제 노드에 대한 메모리 할당 해제는 생략한다)
struct Dnode {
int key;
struct Dnode *prev;
struct Dnode *next;
};
- ①
current->next = current->next->next; current->next->prev = current;
- ②
current->next->prev = current; current->next = current->next->next;
- ③
current->prev = current->prev->prev; current->prev->next = current;
- ④
current->prev->next = current; current->prev = current->prev->prev;
선지를 골라 바로 채점해 보세요.
정답 ③
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)