Я хочу создать метод для устранения дубликатов из текстового файла.
Редактировать: Почему я получил отрицательный голос? Не то чтобы я не искал в Интернете, прежде чем спрашивать.
Например, данные в текстовом файле:
Fruits:Edible:Inedible
Apple:5:10
Apple:1:2
Pear:5:1
Orange:20:1
Pear:5:1
Apple:5:10
Orange:1:20
Orange:20:1
У меня есть класс яблока, апельсина, груши по этому примеру. Используя класс, я создал 3 разных вектора объектов для хранения их, используя методы set.
Например, если Apple
обнаружено:
Apple.setedible(Edible);
Apple.setinedible(Inedible);
В настоящее время я могу хранить их в своих объектных векторах, что приведет к следующему:
In Apple vector:
5:10
1:2
5:10
In Orange Vector:
20:1
1:20
20:1
In Pear Vector:
5:1
5:1
Я хочу устранить дубликаты базы на edible
а также inedible
и я понятия не имею, как я собираюсь устранить их, что приведет меня к:
In Apple vector:
5:10
1:2
In Orange Vector:
20:1
1:20
In Pear Vector:
5:1
Пожалуйста, порекомендуйте.
Что вы хотите в качестве типа для 5:10
или же 1:2
? Это строка или пара целых чисел? Я полагаю, что это строка для моего примера.
Вы должны использовать std::map< std::string , std::set<std::string> >
хранить ваши данные. Затем вы можете добавить его как этот пример с каждой строкой, уникальной для каждого фрукта:
std::map< std::string , std::set<std::string> > data;
data["Apple"].insert("5:10");
data["Apple"].insert("1:2");
data["Apple"].insert("5:10"); // Nothing is inserted here, already exists