The problem I am running into is trying to properly use pointers to reduce the amount of items in a linked list to a frequency of 1.
The code I am getting is below:
template<class ItemType>
bool LinkedBag<ItemType>::flatten()
{
bool changeFlag = false;
int counter = 0;
int size = getCurrentSize();
ItemType store;
Node<ItemType>* curPtr = headPtr;
Node<ItemType>* tempPtr = headPtr;
while ((curPtr != nullptr))
{
store = curPtr->getItem();
tempPtr = curPtr;
for (int i = 0; i < size; i++)
{
if (tempPtr->getNext() != nullptr)
{
tempPtr = tempPtr->getNext();
}
if (store == tempPtr->getItem())
{
remove(store);
}
}
if (curPtr->getNext() != nullptr)
{
curPtr = curPtr->getNext();
}
} // end while
return changeFlag;
} // end flatten