如何从二进制树中删除节点以及其子树中的节点并计算剩余的节点数?

时间:2018-04-21 14:27:05

标签: c++ data-structures tree

使用Array实现二叉树。第一个元素是根节点,其他元素是子节点。树中有N个元素。 N被视为来自用户的输入。

如何从中删除节点?

这样,删除后,其子树中的所有节点也必须删除。

那么,如何计算剩下的元素数量?我可以使用for循环吗?

我已经将这么多代码写成了程序的一部分:

#include <iostream>
using namespace std;
int main()
{
    int N, A[100], X, left, index;
    cin >> N;
    for(int i = 0; i < N; i++)
        cin >> A[i];
    cin >> X;
    left = N;
    for(i = 0; i < N; i++)
        if (A[i] == X)
            index = i;
    if(index == 0)
        left = 0;
    cout << left;
}

索引== 0的if语句打印0个节点,因为根节点也被删除。但是如果要删除的节点的索引大于0,我不知道要找到剩余的数字。

0 个答案:

没有答案