node(int i):data(i),left(NULL),right(NULL){}
void inorder(node *&root) //ÖÐÐò±éÀú£¬·ûºÏÉýÐòÊä³ö {
if(root!=NULL) {
inorder(root->left); cout<
void insert(node *&ptr,int item) //ÔÚ²éÕÒÊ÷ÖвåÈëÔªËØ {
if(ptr==NULL) ptr=new node(item); else if(item
node *find(node *&ptr,int item) //ÔÚ²éÕÒÊ÷ÖвéÕÒÔªËØ,ÕÒµ½·µ»ØËùÔÚ½áµãÖ¸Õ룬ÕÒ²»µ½·µ»Ø¿ÕÖ¸Õë¡£ {
if(ptr==NULL)
return NULL; if(ptr->data==item) return ptr; else if(item
node *&findy(node *&ptr,int item) //ÔÚ²éÕÒÊ÷ÖвéÕҿ϶¨´æÔÚµÄÔªËØ,²¢·µ»ØÆäÒýÓà {
if(ptr->data==item) return ptr; else if(item
node* rl(){return left;} node* rr(){return right;}
void dele(node *&ptr) //ɾ³ýֵΪitemËùÔÚ½áµã {
if(ptr->rl()==NULL&&ptr->rr()==NULL)
ptr=NULL;
else if(ptr->rr()==NULL) ptr=ptr->rl(); else
ptr=ptr->rr(); } private: int data;
node *left; //×óº¢×Ó½áµã node *right; //ÓÒº¢×Ó½áµã }; int main() { int t,i=0,j;
cout<<\ 10¼Æ¿ÆÒ»°à Ñî Ðñ£¨1010311114£©\ cout<<\¶þ²æÅÅÐòÊ÷TµÄÊäÈë:\ cout<<\ÊäÈëÊý×Ö¸öÊý(½áµã¸öÊý):\ cin>>t;
cout<<\ÊäÈë\¸öÊý×Ö£¬Êý×ÖÖ®¼äÓÿոñ¸ô¿ª:\ cin>>j;
node *x=new node(j);
for(;i
cout<<\ÖÐÐò±éÀúΪ:\
x->inorder(x); //×÷ÖÐÐò±éÀú cout<<\
cout<<\¶þ²æÅÅÐòÊ÷TµÄÔªËØ²éÕÒºÍɾ³ý:\ cout<<\ÊäÈë²Ù×÷(µ±ÊäÈë-1ʱ³ÌÐò½áÊø):\ cin>>j; while(j!=-1) {
node *t=x->find(x,j); //¶¨Î»½áµã if(t!=NULL) {
node *&y=x->findy(x,j); x->dele(y); cout<<\ÖÐÐò±éÀúΪ:\ x->inorder(x); }