我做了兩個函數,一個是在紅黑樹中查找並返回最小密鑰,另一個函數返回指向特定節點的指針,並將該節點的密鑰作爲輸入。除了具有最高密鑰和最低密鑰的節點之外,這些功能都可以正常工作。程序停止工作併發出C4716警告。 鍵是 int array [] = {50,26,45,34,23,78,84,93,14,16,100,57,62};警告C4715:並非所有的控制路徑都返回一個值C++
int Tree::findsmallest()
{
return findsmallestprivate(root);
}
int Tree::findsmallestprivate(node* ptr)
{
if (root != NULL)
{
if (ptr->left != NULL)
{
findsmallestprivate(ptr->left);
}
else
{
return ptr->key;
}
}
else
{
cout << "There was no tree" << endl;
return -1;
}
}
Tree::node* Tree::returnnode(int key)
{
return returnnodepri(key, root);
}
Tree::node* Tree::returnnodepri(int key, node* ptr)
{
if (ptr->key == key)
{
return ptr;
}
else if (ptr->key < key)
{
returnnodepri(key, ptr->right);
}
else if (ptr->key > key)
{
returnnodepri(key, ptr->left);
}
else
{
return NULL;
}
}
是的工作。謝謝! – 2014-10-11 13:04:10