奇妙的二叉树
  • 板块学术版
  • 楼主chenbingjie
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/8/28 16:50
  • 上次更新2024/8/28 19:29:46
查看原帖
奇妙的二叉树
1268625
chenbingjie楼主2024/8/28 16:50
#include<iostream>
using namespace std;
struct tree{
	int key;
	tree *_left,*_right,*_parent;
	tree(int k=0,tree *l=NULL,tree *r=NULL,tree *p=NULL):key(k),_left(l),_right(r),_parent(p) {};
};
void insert(tree *tr,int k){
	if(tr==NULL){
		tr->key=k;
		tr->_left=NULL;
		tr->_right=NULL;
		cout<<1;
	}else if(tr->key>k){
		insert(tr->_left,k);
	}else if(tr->key<k){
		insert(tr->_right,k);
	}
	return;
}
void print(tree* tr){
	if(tr==NULL)return;
	cout<<tr->key;
	print(tr->_left);
	print(tr->_right);
}
int main(){
	int n;
	cin>>n;
	tree *_root=NULL;
	for(int i=1;i<=n;i++){
		int a;
		cin>>a;
		insert(_root,a);
	}
	print(_root);
	return 0;
} 

各位大佬们解释一下为什么我的二叉树一到插入的地方就死循环了呢?

2024/8/28 16:50
加载中...