0
Node * BST::insert_real(int key, Node *& node)
{
if (node == nullptr)
return node = new Node(key);
if (key < node->key)
return insert_real(key, node->left);
else if (key > node->key)
return insert_real(key, node->right);
else
return nullptr;
}
Node * BST::insert(int key)
{
return insert_real(key, header->left);
}
BinarySearchTree,插入函數。C++參考類型爲遞歸函數參數
如果key
總是過得left
,當函數insert_all()
運行到位置node = new Node(key)
,是否node
相當於header->left->left->left->left->left->......->left->left
?
如果上面我的猜測是正確的,代碼header->left->left->left->left->left->......->left->left
會帶來一定的負擔。(如果是的話,我將取代Node*&
與Node**
)
我上面說的是正確的話?