void BinarySearchTree::insert(int d)
{
tree_node* t = new tree_node;
tree_node* parent;
t->data = d;
t->left = NULL;
t->right = NULL;
parent = NULL;
// is this a new tree?
if(isEmpty()) root = t;
else
{
//Note: ALL insertions are as leaf nodes
tree_node* curr;
curr = root;
// Find the Node's parent
while(curr)
{
parent = curr;
if(t->data > curr->data) curr = curr->right;
else curr = curr->left;
}
if(t->data < parent->data)
parent->left = t;
else
parent->right = t;
}
}
質問:
tree_node* t;にメモリを割り当てる必要があるのはなぜですか。new を使用しますが、tree_node* 親には使用しません。?
tree_node* とは正確には何ですか? メモリ内ではどのように見え、何をしますか?
誰かが私に -> 演算子とその仕組みを説明できますか?