我一直在尝试使用BinaryTree.cpp中的类来填充具有1,000个随机整数的二叉树,因此我可以检查到达第100个节点需要多少次比较。我一直在使用驱动程序,但当我尝试向树中添加二进制节点时,我收到错误:
Type' BinaryNode *'与' const int&'类型的参数不兼容
我不确定为什么我会收到此错误。你能帮我弄清楚原因吗?
int main()
{
cout << "\nBinary Search Tree\n\n";
BinarySearchTree<int>* treePtr = new BinarySearchTree<int>();
int total = 10000;
srand(time(NULL));
for (int i = 0;i < total;i++); {
int val = rand() % 1000 + 1;
BinaryNode<int>* node = new BinaryNode<int>(val);
treePtr->add(node);
}
int counter = 0;
treePtr->getEntry(100);
system("pause");
return 0;
}
这是我的二进制节点构造函数
BinaryNode(const ItemType& anItem);
这是我的添加功能
template<class ItemType>
bool BinarySearchTree<ItemType>::add(const ItemType& newData)
{
BinaryNode<ItemType>* newNodePtr = new BinaryNode<ItemType>(newData);
rootPtr = insertInorder(rootPtr, newNodePtr);
return true;
}
我也尝试将实际的随机值插入到树中
treePtr->add(val);