【发布时间】:2021-04-15 17:57:13
【问题描述】:
我很想使用 std::set 来存储必须唯一的整数,但我不希望它们被排序(例如,我需要保留集合的输入顺序)
例如:
set<int> exampleSet;
exampleSet.insert(5);
exampleSet.insert(2);
exampleSet.insert(10);
exampleSet.insert(0);
该集合现在将包含
{0,2,5,10}
我希望它是原始顺序所以
{5,2,10,0}
我如何做到这一点?
【问题讨论】:
-
集合需要排序顺序才能正常工作。您需要使用
std::vector之类的内容以及一个集合以避免向其中添加重复元素。 -
你想在片场做什么操作?例如,您是否需要删除某些元素?
-
为什么需要知道插入顺序?您打算多久在程序中使用一次插入顺序?一次?不定期的?很多次?如果您想要某种与插入项目相关的信息,也许比简单的
int更强大的东西会更好?可能是一个std::set<std::pair<int, int>>,其中包含int和插入编号?