构造二叉检索树
作者:互联网
构造二叉检索树
本题目构造一棵二叉检索树。要求读入n个整数,以0结束。最后输出这棵树的先序序列。
输入格式:
输入n个整数,以0表示结束,数据间以空格隔开。
输出格式:
输出这棵树的先序序列,以一个空格隔开,结尾也有一个空格。
输入样例:
34 50 23 12 30 23 0
结尾无空行
输出样例:
34 23 12 23 30 50
结尾无空行
AC代码:
#include<bits/stdc++.h>
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=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<<root->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;
}
标签:检索,Node,right,int,构造,二叉,BSTree,NULL,root 来源: https://blog.csdn.net/pursue1129/article/details/121345688