data-structures
Binärt sökträd
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