在C++中,可以通过定义一个二叉树节点的结构体来表示二叉树节点,然后通过递归的方式来建立和遍历二叉树。
以下是一个示例代码:
#include <iostream>struct TreeNode { int data; TreeNode* left; TreeNode* right; TreeNode(int x) : data(x), left(nullptr), right(nullptr) {}};void insert(TreeNode* &root, int data) { if (root == nullptr) { root = new TreeNode(data); } else { if (data < root->data) { insert(root->left, data); } else { insert(root->right, data); } }}void inorderTraversal(TreeNode* root) { if (root == nullptr) { return; } inorderTraversal(root->left); std::cout << root->data << " "; inorderTraversal(root->right);}int main() { TreeNode* root = nullptr; int arr[] = {5, 3, 8, 2, 4, 7, 9}; for (int num : arr) { insert(root, num); } std::cout << "Inorder traversal: "; inorderTraversal(root); std::cout << std::endl; return 0;}在上面的代码中,定义了一个二叉树节点结构体TreeNode,包含数据域data以及左右子节点指针left和right。然后通过insert函数递归地插入节点来建立二叉树,通过inorderTraversal函数进行中序遍历输出二叉树中的所有节点数据。
可以根据需要修改代码实现其他遍历方式,如前序遍历和后序遍历。




