我需要将bst中的数据保存到已排序的数组中,然后ConvertToCompleteBST
函数清除当前树并使用该数组通过在每次调用中插入中间值来递归地重新插入值。
InsertRecursively(data_array,size);
例如,如果数组是 [5 7 10 12 16 18 30]
然后首先调用InsertRecursively([5 7 10 12 16 18 30],7)
,
中间是 12 所以12是第一个插入树中。然后在递归调用中,它将执行相同的但是
InsertRecursively([5 7 10],3)
InsertRecursively([16 18 30],3)
然后,InsertRecursively([5 7 10],3)
将导致插入节点 7 和其他两个递归调用
InsertRecursively([5],1)
>>导致插入节点5
InsertRecursively([10],1)
>>导致插入节点10
当size为1时,它将停止递归调用。
我不知道如何实现insertRecursively函数