Products
GG网络技术分享 2025-11-13 00:55 5
您给的代码片段和文字说说了二叉树的基本操作,包括创建、查找、插入和遍历。下面是对这些个操作的详细说明白和代码示例:
cpp
TreeNode* createTree {
int val;
cin>> val;
if { // 若读入的值为-1, 则表示该节点为空
return NULL;
}
TreeNode* root = new TreeNode;
root->left = createTree; // 递归创建左子树
root->right = createTree; // 递归创建右子树
return root;
}

cpp
TreeNode* search {
if { // Ru果树为空,则返回NULL
return NULL;
}
if { // Ru果找到值匹配的节点,则返回该节点
return root;
}
if { // Ru果值细小于当前节点的值,则搜索左子树
return search;
} else { // Ru果值巨大于当前节点的值,则搜索右子树
return search;
}
}
cpp
void insert {
if { // Ru果树为空,则创建新鲜节点
root = new TreeNode;
return;
}
if { // Ru果值细小于当前节点的值,则递归插入到左子树
insert;
} else { // Ru果值巨大于当前节点的值,则递归插入到右子树
insert;
}
}
cpp
void preorder { // 前序遍历
if {
return;
}
cout < root->val < " ";
preorder; // 遍历左子树
preorder; // 遍历右子树
}
cpp
void inorder { // 中序遍历
if {
return;
}
inorder; // 遍历左子树
cout < root->val < " ";
inorder; // 遍历右子树
}
cpp
void postorder { // 后序遍历
if {
return;
}
postorder; // 遍历左子树
postorder; // 遍历右子树
cout < root->val < " ";
}
Demand feedback