前中后序遍历树代码
作者:
常台盘の超炮
,
2022-09-24 21:56:09
,
所有人可见
,
阅读 142
void PreOrder(BiTreeNode* root, void visit(DataType item)){
if (root != NULL)
{
visit(root->data);
PreOrder(root->leftChild, visit);
PreOrder(root->rightChild, visit);
}
}
void InOrder(BiTreeNode* root, void visit(DataType item)) {
if (root != NULL)
{
InOrder(root->leftChild, visit);
visit(root->data);
InOrder(root->rightChild, visit);
}
}
void PostOrder(BiTreeNode* root, void visit(DataType item)) {
if (root != NULL)
{
PostOrder(root->leftChild, visit);
PostOrder(root->rightChild, visit);
visit(root->data);
}
}
当然了,一般写遍历树的时候,
if (root != NULL){}一般都是写成
if(!root) return 0;
以上都是dfs的说法。层序遍历是bfs的说法。