Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

c++ format, for each function in the code, please using the comments fill in the

ID: 3796915 • Letter: C

Question

c++ format, for each function in the code, please using the comments fill in the code and write the whole program.

#include <cstddef>

#include <string>

#include <iostream>

#include "assert.h"

using namespace std;

template <class bstdata>

class BST

{

    private:

        struct Node

        {

                bstdata data;

                Node* left;

                Node* right;

                Node(bstdata newdata): data(newdata), left(NULL), right(NULL) {}

        };

        typedef struct Node* NodePtr;

        NodePtr root;

/**Private helper functions*/

void insertHelper(NodePtr root, bstdata value);

//private helper function for insert

//recursively inserts a value into the BST

      void destructorHelper(NodePtr root);

      //private helper function for the destructor

      //recursively frees the memory in the BST

      void inOrderPrintHelper(NodePtr root);

      //private helper function for inOrderPrint

      //recursively prints tree values in order from smallest-to-largest

      void preOrderPrintHelper(NodePtr root);

      //private helper function for preOrderPrint

    //recursively prints tree values in preorder

      void postOrderPrintHelper(NodePtr root)

     //private helper function for postOrderPrint

      //recursively prints tree values in postorder

        /**Public functions*/

    public:

       

        CONSTRUCTOR:

        BST();

        //Instantiates a new Binary Search Tree

        //post: a new Binary Search Tree object

      DESTRUCTOR:

        ~BST();

        //frees the memory of the BST object

        //All memory has been deallocated

        bool isEmpty();

        //determines whether the Binary Search Tree is empty

        void insert(bstdata value); //DID THAT FUNCTION

        //inserts a new value into the Binary Search Tree

        //post: a new value inserted into the Binary Search Tree

        bstdata getRoot();

        //returns the value stored at the root of the BinarySearchTree

        //pre: the Binary Search Tree is not empty

        void inOrderPrint();

        //calls the inOrderPrintHelper function to print out the values

        //stored in the Binary Search Tree

        //If the tree is empty, prints nothing

        void preOrderPrint();

        //calls the preOrderPrintHelper function to print out values

        //stored in the Binary Search Tree

        //If the tree is empty, prints nothing

        void postOrderPrint();

        //calls the postOrderPrintHelper function to print out values

        //stored in the Binary Search Tree

        //If the tree is empty, prints nothing

};

Explanation / Answer

#include <cstddef>

#include <string>

#include <iostream>

#include "assert.h"

using namespace std;

template <class bstdata>

class BST

{

    private:

        struct Node

        {

                bstdata data;

                Node* left;

                Node* right;

                Node(bstdata newdata): data(newdata), left(NULL), right(NULL) {}

        };

        typedef struct Node* NodePtr;

        NodePtr root;

/**Private helper functions*/

void insertHelper(NodePtr root, bstdata value);

//private helper function for insert

//recursively inserts a value into the BST

      void destructorHelper(NodePtr root);

      //private helper function for the destructor

      //recursively frees the memory in the BST

      void inOrderPrintHelper(NodePtr root);

      //private helper function for inOrderPrint

      //recursively prints tree values in order from smallest-to-largest

      void preOrderPrintHelper(NodePtr root);

      //private helper function for preOrderPrint

    //recursively prints tree values in preorder

      void postOrderPrintHelper(NodePtr root)

     //private helper function for postOrderPrint

      //recursively prints tree values in postorder

        /**Public functions*/

    public:

       

        CONSTRUCTOR:

        BST();

        //Instantiates a new Binary Search Tree

        //post: a new Binary Search Tree object

      DESTRUCTOR:

        ~BST();

        //frees the memory of the BST object

        //All memory has been deallocated

        bool isEmpty();

        //determines whether the Binary Search Tree is empty

        void insert(bstdata value); //DID THAT FUNCTION

        //inserts a new value into the Binary Search Tree

        //post: a new value inserted into the Binary Search Tree

        bstdata getRoot();

        //returns the value stored at the root of the BinarySearchTree

        //pre: the Binary Search Tree is not empty

        void inOrderPrint();

        //calls the inOrderPrintHelper function to print out the values

        //stored in the Binary Search Tree

        //If the tree is empty, prints nothing

        void preOrderPrint();

        //calls the preOrderPrintHelper function to print out values

        //stored in the Binary Search Tree

        //If the tree is empty, prints nothing

        void postOrderPrint();

        //calls the postOrderPrintHelper function to print out values

        //stored in the Binary Search Tree

        //If the tree is empty, prints nothing

};

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at drjack9650@gmail.com
Chat Now And Get Quote