ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

构造二叉检索树

2021-11-15 23:01:12  阅读:115  来源: 互联网

标签:检索 Node right int 构造 二叉 BSTree NULL root


构造二叉检索树

本题目构造一棵二叉检索树。要求读入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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有