Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 二叉树,删除根_C++_Tree_Binary Tree - Fatal编程技术网

C++ 二叉树,删除根

C++ 二叉树,删除根,c++,tree,binary-tree,C++,Tree,Binary Tree,我想删除第一个名字,它是二叉树的根 void remove() // cpp file patient person; bool found = false; tree.RetrieveItemRoot(person, found); tree.DeleteItem(person); 模板/.h文件 void HeapType::Delete(HeapNode*& tree, patient item, bool& found) { if (tree == NULL)

我想删除第一个名字,它是二叉树的根

void remove() // cpp file
patient person;
bool found = false;
tree.RetrieveItemRoot(person, found);
tree.DeleteItem(person);
模板/.h文件

void HeapType::Delete(HeapNode*& tree, patient item, bool& found)
{
    if (tree == NULL) {
        found = false;  // item is not found.
        return;
    }

    Delete(tree->left, item, found);
    if (found) return;
    Delete(tree->right, item, found);
    if (found) return;

    if (item.firstName == tree->info.firstName) {
        deleteNode(tree);
        found = true;
    }
}
模板

void HeapType::DeleteItem(patient item)
{
    bool found = false;
    Delete(root, item, found);
}
void HeapType::modify(HeapNode*& tree, patient item)
{
    item.gravity = new item.gravity;
}
void HeapType::modifyItem(patient item)
{
    Delete(root, item);
}
模板

void HeapType::DeleteItem(patient item)
{
    bool found = false;
    Delete(root, item, found);
}
void HeapType::modify(HeapNode*& tree, patient item)
{
    item.gravity = new item.gravity;
}
void HeapType::modifyItem(patient item)
{
    Delete(root, item);
}
模板

void HeapType::DeleteItem(patient item)
{
    bool found = false;
    Delete(root, item, found);
}
void HeapType::modify(HeapNode*& tree, patient item)
{
    item.gravity = new item.gravity;
}
void HeapType::modifyItem(patient item)
{
    Delete(root, item);
}

请提供有关您尝试执行的操作的更多信息和上下文。我有一个名为remove的函数,但我的函数询问要删除的人的姓名。但是现在我想创建一个函数来删除树的名字(根),每次我调用这个函数时,它都会删除树的名字。每个节点包含(一个名称和一个整数(1到5)。struct patient{string firstName;int gravity;};模板void HeapType::Retrieve(HeapNode*tree,ItemType&item,bool&found){if(tree==NULL){found=false;//未找到项。return;}Retrieve(tree->left,item,found);if(found)return;Retrieve(tree->right,item,found);if(found)return;if(item.firstName==tree->info.firstName){item.gravity=tree->info.gravity;found=true;}}模板void HeapType::RetrieveItem(ItemType&item,bool&found){Retrieve(root,item,found);}抱歉,我试图放置不同的模板进行检索