在下面的代码中,我可以更改计数数量newNodePtr-> setCount(amount);设置为任何值,它将保持不变。但是我试图将其初始设置为等于1。然后,如果再次发生,我将转到else语句,并将链接列表的值保留在该位置,但是将计数更改+1。
template<class ItemType>
bool LinkedBag<ItemType>::add(const ItemType& newEntry)
{
Node<ItemType> *newNodePtr = new Node<ItemType>();
int amount = 0;
if (getFrequencyOf(newEntry)<1)
{
newNodePtr->setItem(newEntry);
newNodePtr->setNext(headPtr);
itemCount++;
amount++;
newNodePtr->setCount(amount);
headPtr = newNodePtr;
}
else
{
const int freqAmount = getFrequencyOf(newEntry);
newNodePtr->setItem(newEntry);
itemCount++;
newNodePtr->setCount(freqAmount+1);
}
return true;
} // end add
答案 0 :(得分:0)
在您的else块中,您正在设置新创建项目的计数。不在列表中的现有项目上。