如何使存储在向量中的对象中的数据唯一?
How to unique my data that are stored in an object which are stored in a vector?
我想创建一种方法来消除文本文件中的重复项。
编辑:为什么我被否决了?问之前又不是没上网查过
例如文本文件中的数据:
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
根据这个例子,我有一个 class 的苹果、橘子、梨。使用 class,我使用 set 方法创建了 3 个不同的对象向量来存储它们。
例如,如果检测到 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
我想创建一种方法来消除文本文件中的重复项。
编辑:为什么我被否决了?问之前又不是没上网查过
例如文本文件中的数据:
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
根据这个例子,我有一个 class 的苹果、橘子、梨。使用 class,我使用 set 方法创建了 3 个不同的对象向量来存储它们。
例如,如果检测到 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