def createTree(x,n):#创建完全二叉树
if x<n:
node=TreeNode(x)#x传参为1,表示根节点为1
node.left=createTree(2*x,n)
node.right=createTree(2*x+1,n)
else:
node=None
return node
1000个随机数组成的完全二叉树
struct Node
{
int number;
Node left{nullptr};
Node right{nullptr};
}
Node root = creat(1000)
{
return createTree(1, 1000)
}
createTree(int layNumber, int sumNumber)
{
if layofnumber< sumNumber
{
int number = rand()/1000;
node = new Node();
node->number = number;
node->left = createTree(2*layNumber, sumNumber);
node->right= createTree(2*layNumber+1, sumNumber);
}
else
return nullptr;
return node;
}