Esempio n. 1
0
void Delete_Tree(BTreeNode *&tree)
{
	BTreeNode *NodeToDelete = tree;

	BTreeNode *TempNode;

	if (tree->Right == NULL)
		tree = tree->Left;
	else if (tree->Left == NULL)
		tree = tree->Right;
	else
	{
		TempNode = tree->Right;
		
		while (TempNode->Left != NULL)
			TempNode = TempNode->Left;

		TempNode->Left = tree->Left;

		tree = tree->Right;
	}
	Employee[NodeToDelete->Hash_Key()].free_flag = true;
		
	delete NodeToDelete;


}