请教:非Binary的多叉树应该怎么定义?
首先想请教一下二叉树的定义:程序代码:
struct TreeNode { int val; TreeNode *left; TreeNode *right; TreeNode(int x): val(x), left(nullptr), right(nullptr) {} //请问这句是什么意思?我当初学二叉树的时候struct里没有这句…… };
其次想请教一下多叉树的实现:
搜了一下,网上有一些信息,但是感觉都是template而且子叉的数目已经给定(或者,最多的子叉的数目给定,如果不够那就缺省)。如果希望子叉的个数是一个变量,
程序代码:
struct TreeNode { int val; int number; for(size_t t=0; t<number; t++) { TreeNode *child1; TreeNode *child2; TreeNode *child3; ...} };
请问有没有什么好的办法可以实现呢?谢谢了先!