더북(TheBook)

탐색의 두 번째 연산은 리스트의 마지막 데이터부터 반대 방향으로 순회하면서 탐색하는 search_backward() 메서드입니다.

코드 4-8

    def search_backward(self, target):
        cur = self.tail.prev
        while cur is not self.head:
            if cur.data == target:
                return cur
            cur = cur.prev
        return None

마지막으로 삭제 연산을 알아보겠습니다. 리스트의 첫 번째 데이터 노드를 삭제하는 delete_first() 메서드를 살펴보죠.

코드 4-9

    def delete_first(self):
        if self.empty():
            return
        self.head.next = self.head.next.next
        self.head.next.prev = self.head

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