0

这是从 DoublyLinkedList 中删除重复项的延续。无论如何,我已经删除了重复项,但如果位置是一两个,它只会删除重复项。任何人都可以看到任何会导致这种情况发生的事情。这是他的功能:

void RemoveDuplicates(DoublyLinkedListIterator<Datatype> m_itr, string searchByFirstName, string searchBySecondName)
{
    for (m_itr.Start(); m_itr.Valid(); m_itr.Forth())
        {
            if ((m_itr.Item().getFirstName() == searchByFirstName )&& (m_itr.Item().getSecondName() == searchBySecondName))
            {
                DoublyLinkedListIterator<Datatype> toDelete = m_itr; 
                m_itr.Forth(); 
                Remove(toDelete);
            }   
            break;
        }
}
4

1 回答 1

1

您在break循环的第一次迭代之后调用,所以它只会进行一次迭代。

于 2013-04-21T00:32:58.723 回答