The establishment and insertion of binary sort tree

Insert picture description here

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

}bstnode,*bstree;
void insertbst(bstree &mytree,int x){
    
    
if(mytree==NULL){
    
    
      mytree=new bstnode;
     mytree->data=x;
     mytree->lchild=NULL;
     mytree->rchild=NULL;
}else if(x<mytree->data){
    
    
insertbst(mytree->lchild,x);
}else if(x>mytree->data){
    
    
    insertbst(mytree->rchild,x);
}
}
void creatbst(bstree &mytree){
    
    

     mytree=NULL;
     int x;
     cin>>x;
     while(x!=0){
    
    
        insertbst(mytree,x);
        cin>>x;
     }
}
void visit(bstree mytree){
    
    
if(mytree){
    
    
    visit(mytree->lchild);
    cout<<mytree->data<<" ";
    visit(mytree->rchild);
}
}
int main()
{
    
    
   bstree mytree;
    creatbst(mytree);//3 12 24 37 45 99 53 88 61 78 77 90 120 100 0
    visit(mytree);
    //cout << "Hello world!" << endl;
    return 0;
}

Guess you like

Origin blog.csdn.net/changbaishannefu/article/details/111146096