適切に機能するために、ツリーを印刷する次の機能があります。
void PrintInOrder(TTreeNode const * const pRoot) {
if (pRoot != 0) {
PrintInOrder(pRoot->pLeft);
if(pRoot->pLeft) std::cout << ",";
std::cout << pRoot->Data;
if(pRoot->pRight) std::cout << ",";
PrintInOrder(pRoot->pRight);
}
}
これは私の予約注文印刷機能です:
void PrintPreOrder(TTreeNode const * const pRoot) {
if (pRoot != 0) {
std::cout << pRoot->Data << std::endl;
PrintPreOrder(pRoot->pLeft);
PrintPreOrder(pRoot->pRight);
}
}
私は愚かすぎて、 inorder 関数のように印刷する方法を理解できないので、皆さんが私を助けてくれることを願っています!
ありがとう!
アップデート:
予約注文機能が機能するようになりましたが、これは正しい注文注文機能ですか?
void PrintPostOrder(TTreeNode const * const pRoot) {
if (pRoot != 0) {
PrintPostOrder(pRoot->pLeft);
if(pRoot->pLeft) std::cout << ",";
PrintPostOrder(pRoot->pRight);
if(pRoot->pRight) std::cout << ",";
std::cout << pRoot->Data;
}
}