두 개의 함수를 만들었습니다. 하나는 빨강 검정 트리에서 가장 작은 키를 찾아 반환하고 다른 하나는 노드의 키를 입력으로 사용하여 특정 노드에 대한 포인터를 반환합니다. 이 함수는 가장 높은 키와 가장 낮은 키를 가진 노드를 제외한 모든 노드에서 정상적으로 작동합니다. 프로그램이 작동을 멈추고 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;
}
}
맙소사. 감사합니다! –