더북(TheBook)

앞서 단일 연결 리스트에서 원소 삽입에 대해 살펴봤는데요, 이번에는 이중 연결 리스트에서 원소 삽입 시 포인터를 어떻게 관리하는지 다이어그램을 통해 알아보겠습니다.

▲ 그림 1-7 이중 연결 리스트에서 원소 삽입

그림 1-7을 보면 std::list에서 원소 삽입도 std::forward_list와 같은 과정을 따르지만, prevnext 두 개의 포인터 값을 적절하게 수정해야 하기 때문에 std::forward_list와 비교하면 두 배의 연산량이 필요합니다. 이와 같은 개념이 다른 기능에도 유사하게 적용됩니다.

remove(), remove_if(), sort(), unique(), reverse() 등의 함수도 std::list에서 제공되며, std::forward_list와 같은 형태로 동작합니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.