C++ 转换为完整的BST函数
我需要将bst中的数据保存到一个已排序的数组中,然后,C++ 转换为完整的BST函数,c++,recursion,binary-search-tree,C++,Recursion,Binary Search Tree,我需要将bst中的数据保存到一个已排序的数组中,然后,ConvertToCompleteBST函数清除当前树,并通过在每次调用中插入中间值,使用数组递归地重新插入值 InsertRecursively(data_array,size); 例如,如果数组是 [5 7 10 12 16 18 30] 然后递归地插入([571012161830],7)首先被调用 中间是12因此12是第一个插入到树中的。然后在递归调用中,它将执行相同的操作,但对于 InsertRecursively([5 7 10]
ConvertToCompleteBST
函数清除当前树,并通过在每次调用中插入中间值,使用数组递归地重新插入值
InsertRecursively(data_array,size);
例如,如果数组是
[5 7 10 12 16 18 30]
然后递归地插入([571012161830],7)首先被调用
中间是12因此12是第一个插入到树中的。然后在递归调用中,它将执行相同的操作,但对于
InsertRecursively([5 7 10],3)
InsertRecursively([16 18 30],3)
然后,insertrecursive([5 7 10],3)
将导致插入节点7和另外两个递归调用
递归插入([5],1)
>导致插入节点5
递归插入([10],1)
>导致插入节点10
当size为1时,它将停止递归调用
我不知道如何实现insertrecursive函数您的bst数据结构是什么样子的?您遇到问题的是递归部分还是终端部分?我遇到了递归部分的问题