Sök…


Skapa en nod i BST

Binary Search Tree (BST) är en hierarkisk datastruktur med en enda pekare till rotnoden.

Noden i BST innehåller vanligtvis "objekt" (som nummer eller namn) för snabb uppslagning. Varje nod har högst två barn (vänster och höger). Varje nod organiseras av ett viktigt datafält. För varje nod i BST är dess nyckel större än vänsterbarnsnyckel och mindre än högerbarnsnyckel

En typisk nodstruktur (som lagrar ett heltal) skulle vara

struct bst_node {
    int item; 
    bst_node* left;
    bst_node* right;
}; 

Det kommer bara att finnas en rotnod för BST. Rotnoden kan skapas av

bst_node* root = NULL;
root = (bst_node*) malloc(sizeof(bst_node));

För att ställa in artikelnyckel för root till 10.

root->item = 10;

infoga en nod i binärt sökträd

struct tree{
    int a;
    tree* right;
    tree* left;
};
tree* root=NULL;
void insert(tree*& in, int b){
        if(in){
            if(in->a<b)
                    insert(in->right,b);
            else if(in->a>b)
                    insert(in->left,b);
            else
                cout<<"the value is already in the tree."<<endl;
        }else{
            tree* temp = new tree;
            temp->a=b;
            temp->right=NULL;
            temp->left=NULL;
            in=temp;
        }
}


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow