プレイヤー オブジェクトを格納する二重リンク リストがあります。プレーヤー オブジェクトには、名、姓、レベル、経験が含まれます。重複したプレーヤー オブジェクトを削除する関数を作成しようとしています。たとえば、Luis suarez と入力してからもう一度入力した場合、ユーザーに重複した名前を入力し、luis suarez プレーヤーの 1 つ (できればリストの最後のプレーヤー) を削除するように求める関数が必要です。私は多くのことを試しましたが、どれも機能せず、何も削除しません。誰でもこれで私を助けることができますか?
これが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);
}
私の統計クラスには、ゲッターを持つ 4 つのメンバー変数があります。
private:
string firstName;
string secondName;
int level;
int experience;
リンクされたリストには、3 つのクラスがあります。
DoublyLinkedListIterator;
DoublyLinkedList;
DoublyLinkedListNode;
どんな助けでも大歓迎です。
編集: フォローアップ: DoublyLinkedList からの重複の削除