6. 이제 새로운 원소(부하 직원)를 추가하는 삽입 함수를 만들겠습니다. 이 함수에서는 앞서 만들었던 find() 함수를 활용합니다.

        bool addSubordinate(const std::string& manager, const std::string& subordinate)
        {
            auto managerNode = org_tree::find(root, manager);
        
            if (!managerNode)
            {
                std::cout << manager << "을(를) 찾을 수 없습니다: " << std::endl;
                return false;
            }
    
            if (managerNode->first && managerNode->second)
            {
                std::cout << manager << " 아래에 " << subordinate << "을(를) 추가할 수 없습니 다." << std::endl;
                return false;
            }
    
            if (!managerNode->first)
                managerNode->first = new node {subordinate, NULL, NULL};
            else
                managerNode->second = new node {subordinate, NULL, NULL};
    
            std::cout << manager << " 아래에 " << subordinate << "을(를) 추가했습니다." << std::endl;
    
            return true;
        }
    };
    

    이 함수는 원소(부하 직원)를 정상적으로 삽입하면 true를, 실패하면 false를 반환합니다.

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