최소 1개 이상의 노드로 이루어진 원형 연결 리스트(circular linked list)에서 포인터 L이 리스트의 첫 번째 노드를 가리킨다고 할 때, 데이터의 값이 x인 노드를 탐색하여 반환하는 C 코드는?
- ①
ListNode *searchCList(ListNode *L, int x) { ListNode *p = L; while ( p != L ) { if ( p->data == x ) return p; p = p->link; } return NULL; } - ②
ListNode *searchCList(ListNode *L, int x) { ListNode *p = L; while ( p->link != L ) { if ( p->data == x ) return p; p = p->link; } return NULL; } - ③
ListNode *searchCList(ListNode *L, int x) { ListNode *p = L; do { if ( p->data == x ) return p; p = p->link; } while ( p != L ); return NULL; } - ④
ListNode *searchCList(ListNode *L, int x) { ListNode *p = L; do { if ( p->data == x ) return p; p = p->link; } while ( p->link != L ); return NULL; }
선지를 골라 바로 채점해 보세요.
정답 ③
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)