Build Binary Search Tree(建立二叉查找树)

 1 #include<iostream>
 2 using namespace std;
 3 
 4 struct node{
 5     int num;
 6     node* left;
 7     node*right;
 8 };
 9 
10 int pt[1000001];
11 void buildbinnode(node*,int);
12 int main()                   //建立查找二叉树
13 {
14     int num,n=0;
15     while(cin>>num)
16     {
17        pt[n++]=num;
18        if(cin.get()=='\n') break;
19     }
20     node*root=NULL;
21     root->num=pt[0];root->left=NULL;root->right=NULL;
22     node*subroot=root;
23 
24     for(int i=1;i<n;i++)
25     {
26         root=subroot;
27         buildbinnode(root,pt[i]);
28     }
29 
30 }
31 void buildbinnode(node*root,int into)
32 {
33     if(root=NULL)
34     {  
35         node* rootinto=new node;
36         rootinto->num=into;rootinto->left=NULL;rootinto->right=NULL;
37         root=rootinto;
38         return;
39     }
40     if(root->num>=into)
41         buildbinnode(root->left,into);
42     else
43         buildbinnode(root->right,into);
44     
45 }

 

    原文作者:算法小白
    原文地址: https://www.cnblogs.com/809484936Besion/archive/2012/11/30/2796784.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞