构造二叉检索树 本题目构造一棵二叉检索树。要求读入n个整数,以0结束。最后输出这棵树的先序序列。
输入格式:
输入n个整数,以0表示结束,数据间以空格隔开。
输出格式:
【算法|PTA查找—构造二叉检索树】输出这棵树的先序序列,以一个空格隔开,结尾也有一个空格。
输入样例:
34 50 23 12 30 23 0
结尾无空行
输出样例:
34 23 12 23 30 50
结尾无空行
AC代码:
#include
using namespace std;
struct BSTree {
int data;
BSTree* left;
BSTree* right;
};
void insert_Node(BSTree* &root,int n) {
if(root==NULL) {
root = new BSTree();
root->data=https://www.it610.com/article/n;
root->left=NULL;
root->right=NULL;
} else {
if(n<=root->data) {
insert_Node(root->left,n);
} else {
insert_Node(root->right,n);
}
}
}void preOder(BSTree* root) {
if(root==NULL) {
return;
} else {
cout<data<<" ";
preOder(root->left);
preOder(root->right);
}
}int main() {
BSTree* root=NULL;
int n;
cin>>n;
while(n!=0) {
insert_Node(root,n);
cin>>n;
}
preOder(root);
return 0;
}
推荐阅读
- 数据结构|PTA线性表—统计字母比例
- c++|PTA堆栈—有效括号判断
- 剑指offer|剑指offer 旋转数组的最小数字
- CSE 11 COVID Genomic
- codeforce|Codeforces Round #774 (Div. 2) D. Weight the Tree
- CUMTOJ|内部收益率(二分)
- codeforces|Codeforces Round #774 (Div. 2) A-D
- 业界观点|深度学习崛起十年(“开挂”的OpenAI革新者)
- STAC51数据分析