C++中n元树中大于给定值的节点数
在本教程中,我们将编写一个程序来计算值大于给定数字n的节点数。
让我们看看解决问题的步骤。
初始化n叉树。
将计数初始化为0。
当您找到值大于n的节点时,将计数加1。
获取当前节点的子节点。
迭代所有子节点并递归调用相同的函数来计算节点数。
返回计数。
示例
让我们看看代码。
#include输出结果using namespace std; struct Node { int data; vector child; }; Node* getNewNode(int data) { Node* temp = new Node; temp->data = data; return temp; } int getGreaterElementsCount(Node* root, int n) { if (root == NULL) return 0; int count = 0; if (root->data > n) { count++; } int nodeChildrenCount = root->child.size(); for (int i = 0; i < nodeChildrenCount; i++) { Node* child = root->child[i]; count += getGreaterElementsCount(child, n); } return count; } int main() { Node* root = getNewNode(1); (root->child).push_back(getNewNode(2)); (root->child).push_back(getNewNode(3)); (root->child).push_back(getNewNode(4)); (root->child[0]->child).push_back(getNewNode(5)); (root->child[0]->child).push_back(getNewNode(5)); (root->child[1]->child).push_back(getNewNode(6)); (root->child[1]->child).push_back(getNewNode(6)); (root->child[1]->child).push_back(getNewNode(7)); (root->child[2]->child).push_back(getNewNode(8)); (root->child[2]->child).push_back(getNewNode(8)); (root->child[2]->child).push_back(getNewNode(9)); int n = 2; cout << getGreaterElementsCount(root, n) << endl; return 0; }
如果你运行上面的代码,那么你会得到下面的结果。
10
结论
如果您对本教程有任何疑问,请在评论部分提及。
热门推荐
10 古风考试祝福语 唯美简短
11 学生 牛年祝福语大全简短
12 早安毕业文案祝福语简短
13 新年导员祝福语简短
14 病人的生日祝福语简短
15 长春防疫祝福语大全简短
16 亲人提车祝福语简短
17 新年简短祝福语大全集
18 工人励志祝福语大全简短