bst のデータを並べ替えられた配列に保存する必要がある場合、ConvertToCompleteBST
関数は現在のツリーをクリアし、配列を使用して、各呼び出しに中間値を挿入することにより、値を再帰的に再挿入します。
InsertRecursively(data_array,size);
たとえば、配列が [5 7 10 12 16 18 30] の場合
thenInsertRecursively([5 7 10 12 16 18 30],7)
が最初に呼び出され、
真ん中が12なので、12 が最初にツリーに挿入されます。次に、再帰呼び出しで、同じことを行いますが、
InsertRecursively([5 7 10],3)
InsertRecursively([16 18 30],3)
次に、ノード7と他の 2 つの再帰呼び出しInsertRecursively([5 7 10],3)
を挿入します。
InsertRecursively([5],1)
>> ノード 5 の挿入につながる
InsertRecursively([10],1)
>> ノード 10 の挿入につながる
size が 1 の場合、再帰呼び出しを停止します。
insertRecursively 関数を実装する方法がわかりません