Question: C++ We are to implement 8 small additional functions and 2 helper functions to a singly linked list. 1. removeSecondNode340 deletes the second node in

C++ We are to implement 8 small additional functions and 2 helper functions to a singly linked list.

1. removeSecondNode340 deletes the second node in the Linked Bag.

2. addEnd340 inserts the new node at the end of the Linked Bag.

3. getCurrentSize340Iterative counts the number of nodes in the Linked Bag iteratively.

4. getCurrentSize340Recursive counts the number of nodes in the Linked Bag recursively. Use 1 helper function: getCurrentSize340RecursiveHelper.

5. IMMEDIATE RECURSION: getCurrentSize340RecursiveNoHelper counts the number of nodes in the Linked Bag recursively. This recursive function does not use any helper functions.

6. getFrequencyOf340Recursive recursively counts the number of times an entry appears in the Linked Bag. Use 1 helper function: getFrequencyOf340RecursiveHelper.

7. IMMEDIATE RECURSION: getFrequencyOf340RecursiveNoHelper recursively counts the number of times an entry appears in the Linked Bag. This recursive function does not use any helper functions.

8. removeRandom340 removes a random entry from the Linked Bag.

public:

bool removeSecondNode340();

bool addEnd340(const ItemType&);

int getCurrentSize340Iterative() const;

int getCurrentSize340Recursive() const;

int getCurrentSize340RecursiveNoHelper() const;

int getFrequencyOf340Recursive(const ItemType&) const;

int getFrequencyOf340RecursiveNoHelper(const ItemType&) const;

ItemType removeRandom340();

private:

int getCurrentSize340RecursiveHelper(Node*) const; // if needed

int getFrequencyOf340RecursiveHelper(Node*, const ItemType&) const; // if needed

Example of it being used:

// 1. Create a bag and add initial nodes

cout << "--->>>>> Test 1 --->>>>>" << endl;

unique_ptr> bag = make_unique >();

// A mall vector of small objects to test the bag

vector items { "#-END", "5-FIVE", "4-FOUR", "4-FOUR", "3-THREE", "2-TWO", "1-ONE", "0-ZERO", "#-BEGIN" };

cout << " !add()... ";

vector::const_iterator cItr;

for (cItr = items.begin(); cItr != items.end(); cItr++) {

cout << *cItr << " ";

bool success = bag->add(*cItr);

if ( !success) {

cout << " !add() FAILED: " << *cItr << endl;

}

}

displayBag(bag);

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!