0

私のコードは以下のとおりです。バイナリ ツリーから取得した航空機のリストをメインに戻そうとしています (最小から最大)。以下のコードでは、ルート ノードを 2 回取得しています。私は何時間もそれに取り組んできました...何か提案はありますか?

ありがとう、シャーロット

std::list<Aircraft> Tree::buildList()
{
    std::list<Aircraft> aircraftList;
    if (_root != 0)
    {
        aircraftList = buildListHelp(_root, aircraftList);
        aircraftList.push_front(*_root->getAircraftData());     
    }
    return aircraftList;
}

std::list<Aircraft> Tree::buildListHelp(Node* node, std::list<Aircraft> aircraftList)
{
    //aircraftList.push_back(*node->getAircraftData())
    /*if (node->getLeft() != 0)
    {*/
    if (node==0)
        return aircraftList;
    buildListHelp(node->getLeft(), aircraftList);
    //}
    aircraftList.push_back(*node->getAircraftData());
    /*if (node->getRight() != 0)
    {*/
    buildListHelp(node->getRight(), aircraftList);  
    //}
    return aircraftList;
}
4

1 に答える 1