<prompt> Tekeleza mti wa utafutaji wa binary katika C na vitendaji vya kuingiza, kufuta, na kutafuta nodi. Programu inapaswa pia kujumuisha kitendakazi cha inorder traversal ambacho huchapisha thamani zilizopangwa za mti.  <response>: cpppamoja na nodi ya darasa umma: data ya int; Nodi kushoto; Nodi kulia; Nodiint d : datad, leftnullptr, kulianullptr ;darasa la BinarySearchTree umma: Node mzizi; BinarySearchTree : rootnullptr kuingiza utuputhamani ya ndani ikiwa mzizi nullptr mzizi Nodi mpya thamani; nyengine kuingizaMsaidizimizizi, thamani; utaftaji wa bool thamani ya ndani rudisha Msaidizi mzizi, thamani; ondoa utuputhamani ya ndani mzizi ondoaMsaidizimzizi, thamani; utupu inorderTraversal inorderTraversalHelpermizizi; std::cout std::endl; Privat: utupu insertHelperNodi nodi, thamani ya ndani ikiwa thamani node-data ikiwa nodi- kushoto nullptr nodi- kushoto Nodi mpyathamani; nyengine insertHelpernodi-kushoto, thamani; nyengine ikiwa nodi- kulia nullptr nodi- kulia Nodi mpyathamani; nyengine insertHelpernodi-kulia, thamani; Bool searchMsaidiziNodi nodi, thamani ya int ikiwa nodi nullptr kurudi kwa uwongo; vinginevyo ikiwa nodi-data thamani kurudi kweli; vinginevyo ikiwa thamani node-data rudisha tafutaMsaidizinodi- kushoto, thamani; nyengine rudisha tafutaMsaidizinodi-kulia, thamani; Nodi removeHelperNodi nodi, thamani ya int ikiwa nodi nullptr nodi ya kurudi; ikiwa thamani node-data nodi- kushoto removeHelpernodi- kushoto, thamani; vinginevyo ikiwa thamani nodi- data nodi- kulia removeHelper nodi- kulia, thamani; nyengine ikiwa nodi- kushoto nullptr Nodi temp nodi-kulia; futa node; joto la kurudi; vinginevyo ikiwa nodi- kulia nullptr Nodi temp nodi- kushoto; futa node; joto la kurudi; nodi-data minValuenodi-kulia; nodi-kulia removeHelpernodi-kulia, nodi-data; nodi ya kurudi; int minValueNodi nodi int minv nodi-data; wakati nodi- kushoto ! nullptr minv nodi- kushoto- data; nodi nodi- kushoto; kurudi minv; utupu utaratibuTraversalHelperNodi nodi ikiwa nodi ! nullptr inorderTraversalHelpernodi-kushoto; std::cout node-data ; inorderTraversalHelpernodi-kulia; ;int main BinarySearchTree bst; bst.ingiza50; bst.ingiza30; bst.ingiza20; bst.ingiza40; bst.ingiza70; bst.ingiza60; bst.ingiza80; bst.inorderTraversal; 20 30 40 50 60 70 80 std::cout Tafuta 40: bst.search40 ? Kupatikana : Haijapatikana std::endl; Imepatikana std::cout Tafuta 90: bst.search90 ? Kupatikana : Haijapatikana std::endl; Haipatikani bst.ondoa20; bst.ondoa30; bst.ondoa50; bst.inorderTraversal; 40 60 70 80 kurudi 0; 