二叉排序树(输出父节点)

在这里插入图片描述
在这里插入图片描述

代码:

#include<bits/stdc++.h>
using namespace std;
typedef struct node{
    
    
	int data;
	struct node *lchild,*rchild;
}*BiTree; 

void createTree(BiTree &T,int x,int parent)
{
    
    
   if(T==NULL)
   {
    
    
   	   T = new node;
   	   T->data=x;
   	   T->lchild=T->rchild=NULL;
   	   cout<<parent<<endl;
   	   return;   	
   }
   if(x==T->data) return;
   else if(x<T->data) createTree(T->lchild,x,T->data);
   else createTree(T->rchild,x,T->data);	 	
}
int main()
{
    
    
	int n;
	while(cin>>n)
	{
    
    
		BiTree T=NULL;
		while(n--)
		{
    
    
			int x;
			cin>>x;
			createTree(T,x,-1);
		}
	    
	}
	
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_43901182/article/details/112998664