したがって、私はBSTにiを挿入する破壊関数BST insertbst(int i、BST t)を定義する必要があります。つまり、iを含むようにtを変更し、結果のツリーを返します。実行時間はO(高さt)でなければなりません。バイナリ検索ツリーへの挿入
私は私のコードで使用される他の機能はで見つけることができ、このバージョンを思い付く...しかしBST insertbst(int i, BST t) {
if (t == NULL) {
return BSTmake(i, NULL, NULL);
} else if (i < BSTkey(t)) {
return BSTmake(BSTkey(t), insertbst(i ,BSTleft(t)), BSTright(t));
} else {
return BSTmake(BSTkey(t), BSTleft(t), insertbst(i ,BSTright(t)));
}
}
私に次のエラーのideone.com/xhxb6を与えている
:任意の提案を行うためにhttp://pastebin.com/TVYRE4Nd それは破壊的な、または私のヒープエラーを避けるためにそれを変更する?
.hファイル:http://ideone.com/QeSTl
テストファイル:http://pastebin.com/9ca5i4My
あなたの実際の質問が何であるかは分かりません。おそらくあなたはあなたの投稿を明確にすることができます。 – bitmask
コードリンクにはログインが必要です。 –
私は基本的に私の機能をdestrutiveにしたいのですが(tを変更する)...ヒープエラーなしで実行するコードを取得するのに問題があるようです – Thatdude1