Как уникальные мои данные, которые хранятся в объекте, которые хранятся в векторе?

Я хочу создать метод для устранения дубликатов из текстового файла.

Редактировать: Почему я получил отрицательный голос? Не то чтобы я не искал в Интернете, прежде чем спрашивать.

Например, данные в текстовом файле:

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

Пожалуйста, порекомендуйте.

0

Решение

Что вы хотите в качестве типа для 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
1

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector