在C++中,可以通过定义一个二叉树节点结构体来创建二叉树。每个节点结构体包含一个值和指向左右子节点的指针。然后可以使用递归的方式来构建二叉树。以下是一个简单的示例代码:
#include <iostream>
struct TreeNode {
int val;
TreeNode* left;
TreeNode* right;
TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
};
TreeNode* createBinaryTree() {
int val;
std::cin >> val;
if (val == -1) { // -1表示空节点
return nullptr;
}
TreeNode* root = new TreeNode(val);
std::cout << "Enter left child of " << val << ": ";
root->left = createBinaryTree();
std::cout << "Enter right child of " << val << ": ";
root->right = createBinaryTree();
return root;
}
void inorderTraversal(TreeNode* root) {
if (root == nullptr) {
return;
}
inorderTraversal(root->left);
std::cout << root->val << " ";
inorderTraversal(root->right);
}
int main() {
TreeNode* root = createBinaryTree();
std::cout << "Inorder traversal of the binary tree: ";
inorderTraversal(root);
return 0;
}
在上面的示例代码中,首先定义了一个TreeNode
结构体表示二叉树节点,然后使用createBinaryTree
函数递归地构建二叉树。用户输入树节点的值,-1表示空节点。最后,使用inorderTraversal
函数进行中序遍历打印出二叉树的值。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 55@qq.com 举报,一经查实,本站将立刻删除。转转请注明出处:https://www.szhjjp.com/n/936262.html