2009-11-10 3 views
-1

Может ли кто-нибудь сказать мне, как удалить дубликаты записей или избежать дублирования в первую очередь?дублирование записей в C++

Проблема в том, что всякий раз, когда я редактирую запись, создается дублирующаяся запись.

Может ли кто-нибудь отправить ответ?

+5

Необходимо предоставить дополнительную информацию. О каких «записях» вы говорите? В чистом C++ нет такой вещи, как «запись», поэтому, пожалуйста, предоставьте дополнительную информацию. –

+1

нам понадобится дополнительная информация, чтобы ответить на этот вопрос. Как хранятся ваши записи? как вы их редактируете? –

ответ

1

Общий подход к исключению дубликатов, независимо от языка, заключается в использовании хеш-таблицы для хранения ваших записей. Это предполагает, что существует поле, которое служит уникальным идентификатором. Журнал доктора Добба как статья о C++ and hashing.

2

Попробуйте использовать std :: map или std :: set collections. Они не хранят дубликаты. В некоторых контейнерах есть такие методы, как unique(), или вы можете просто использовать уникальные() или unique_if() алгоритмы. Кстати, где вы дублируете записи? Это проблема с использованием ado (.net) или, может быть, с какой-то конкретной коллекцией, которую вы используете? Где вы видите дублированные записи? В памяти, в db или, может быть, в каком-то файле?

Alek