C ++中的二叉树搜索

C ++中的二进制搜索树 二进制树:一种数据结构,其中我们有包含数据的节点和两个对其他节点的引用,一个在左边,一个在右边。 二叉树由节点组成 节点不过是类的对象,每个节点都有数据以及指向左节点和右节点的链接。 通常我们称树的起始节点为根。

#include<iostream.h>
using namespace std;
class Node{
    public:
    int data;
    Node* left;
    Node* right;

    Node(int data){
        this->data=data;
        left=NULL;
        right=NULL;
    }
};

class BST{
    Node* root=NULL;
    public:
    void insert(int data);
    void insert(Node*& temp, int data);
    void dis();
    void display(Node* temp);
};
void BST :: insert(int data){
    insert(root, data);
} 

void BST :: insert(Node*& temp, int data){
    if(temp==NULL){
        temp=new Node(data);
        return;
    }
        if(data<=temp->data){
            insert(temp->left ,data);
        }else{
            insert(temp->right , data);
        }
    }

void BST :: dis(){
    display(root);
}
void BST :: display(Node* temp){

    if(temp==NULL){
        return;
    }
        display(temp->left);
        cout<<" "<<temp->data<<" ";
        display(temp->right);
}
int main(){
    BST n1;
    n1.insert(10);
    n1.insert(11);
    n1.insert(9);
    n1.insert(8);
    n1.dis();
    return 0;
}
评论