4. 삽입 함수를 만들기 전에 먼저 find() 함수를 작성하겠습니다.

        node* find(int value)
        {
            return find_impl(root, value);
        }
    
    private:
        node* find_impl(node* current, int value)
        {
            if (!current)
            {
                std::cout << std::endl;
                return NULL;
            }
    
            if (current->data == value)
            {
                std::cout << value << "을(를) 찾았습니다." << std::endl;
                return current;
            }
    
            if (value < current->data) // value 값이 현재 노드 왼쪽에 있는 경우
            {
                std::cout << current->data << "에서 왼쪽으로 이동: ";
                return find_impl(current->left, value);
            }
    
            // value 값이 현재 노드 오른쪽에 있는 경우
            std::cout << current->data << "에서 오른쪽으로 이동: ";
            return find_impl(current->right, value);
        }
    

    원소 검색은 재귀적으로 동작하기 때문에 실제 구현은 findImpl() 함수에 따로 작성했고, private으로 지정하여 외부에서 직접 호출할 수 없도록 설정했습니다.

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