使用控制台输入的方式来创建BST
时间: 2023-12-25 15:03:10 浏览: 80
好的,让我来为您解答。要使用控制台输入的方式来创建BST(二叉搜索树),您需要先定义一个BST节点的数据结构。在这个数据结构中,我们需要包含一个数据成员, 存储节点的值,以及左右子树的指针成员。例如,以下是一个简单的BST节点:
```
struct bstNode {
int val;
bstNode* left;
bstNode* right;
};
```
然后,您可以编写一个函数来向BST中插入新节点。这个函数将首先检查根节点是否存在,如果不存在,就创建一个新的节点并将其设置为根节点。如果根节点已经存在,则遍历BST来找到一个合适的插入位置。
以下是一个简单的函数,可以使用控制台输入来创建BST:
```
#include <iostream>
using namespace std;
struct bstNode {
int val;
bstNode* left;
bstNode* right;
};
bstNode* insert(bstNode* root, int value) {
if (root == nullptr) {
root = new bstNode;
root->val = value;
root->left = root->right = nullptr;
}
else {
if (value < root->val) {
root->left = insert(root->left, value);
}
else {
root->right = insert(root->right, value);
}
}
return root;
}
int main() {
bstNode* root = nullptr;
int n;
cout << "输入要插入的数字的数量: ";
cin >> n;
for (int i = 0; i < n; i++) {
int value;
cout << "输入要插入的数字: ";
cin >> value;
root = insert(root, value);
}
cout << "BST创建成功!" << endl;
return 0;
}
```
您现在可以输入要插入的数字的数量和要插入的数字,然后程序将在控制台上显示您输入的数字组成的BST树的结构。
阅读全文