Question: Given our standard Bag ADT with the following public methods: ArrayBag ) int getCurrentsize const: bool isEmpty) const: bool add (const ItemType& newEntry) bool remove

Given our standard Bag ADT with the following public methods: ArrayBag ) int getCurrentsize const: bool isEmpty) const: bool add (const ItemType& newEntry) bool remove (const ItemType& anEntry); void clear ) bool contains (const ItemType& anEntry) const int getFrequencyof (const ItemType& anEntry) const vectorKItemType> tovector () const virtual ArrayBag Using only the public methods provided by the ADT, write a client function merge that combines the contents of two bags into the first one, and deletes the second bag (which is now empty) (Note: I copied the above code from our dynamically-resizable array bag, but we could be using a linked-list bag, too. It doesn't matter. The point is that you **do not** have to worry about the bag getting full. The first bag will always be able to accommodate the items in the second bag.)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
