先序遍历
using namespace std;
// 定义二叉树节点结构体
struct TreeNode {
char Data; // 节点的数据
TreeNode* left; // 左子节点
TreeNode* right; // 右子节点
// 构造函数
TreeNode(char data, TreeNode* leftChild = nullptr, TreeNode* rightChild = nullptr)
: Data(data), left(leftChild), right(rightChild) {}
};
// 预定义的二叉树节点类型
typedef TreeNode* BiTree;
// 前序遍历函数
void PreOrder(BiTree BT) {
if (BT) {
cout << BT->Data; // 打印节点的数据
PreOrder(BT->left); // 递归遍历左子树
PreOrder(BT->right); // 递归遍历右子树
}
}
// 主函数
int main() {
// 创建一个示例二叉树
TreeNode* root = new TreeNode('A',
new TreeNode('B',
new TreeNode('D'),
new TreeNode('E')),
new TreeNode('C',
nullptr,
new TreeNode('F')));
// 前序遍历
PreOrder(root);
cout << endl;
// 释放内存
// 请注意:在实际应用中,应该释放所有分配的内存,这里为了简化代码没有进行内存释放
return 0;
}
标签:遍历,TreeNode,BT,二叉树,new,节点
From: https://www.cnblogs.com/windzhao6/p/18392244