我有一个双向链表,其中存储播放器对象。玩家对象包含名字、姓氏、等级和经验。我试图创建一个删除重复播放器对象的函数。例如,如果我输入 Luis suarez 然后再次输入,我希望该功能要求用户输入重复的名称并删除其中一名 luis suarez 球员(最好是列表中的最后一名)。我已经尝试了很多东西,但它们都不起作用,也没有删除任何东西。谁能帮我这个?
这是我在 RemoveDuplicate 的尝试:
// -------------------------------------------------------------------------------------------------------
// Name: RemoveDuplicates.
// Description: Searchs through the list and finds duplicates and removes one.
// -------------------------------------------------------------------------------------------------------
void RemoveDuplicates(DoublyLinkedListIterator<Datatype> m_itr, string searchByFirstName)
{
Stats player;
string playerDuplicate = player.getFirstName();
for (m_itr.Start(); m_itr.Valid(); m_itr.Forth())
{
if (m_itr.Item().getFirstName() == searchByFirstName)
{
playerDuplicate = m_itr.Item().getFirstName();
}
}
delete(playerDuplicate);
}
我的 stats 类有 4 个带有 getter 的成员变量。
private:
string firstName;
string secondName;
int level;
int experience;
在我的链表中,我有 3 个类。
DoublyLinkedListIterator;
DoublyLinkedList;
DoublyLinkedListNode;
任何帮助是极大的赞赏。
编辑:后续行动:从 DoublyLinkedList 中删除重复项