如果我有一个vector<pair<int,int> >
数据类型,什么是第二,如果首创相等,由一对的第一个元素进行排序,然后将接受的方式?比如,也许(1,10),(3,3),(7,13),(7,16),(8,1),(8,2),(15,2)等按C++中的第一个元素对中的第二个元素对一个对的向量排序?
回答
默认比较第一个元素,然后第二个。所以,如果你不关心维护时的第一要素比较相等的顺序,那么你可以只使用std::sort
:
std::sort(v.begin(), v.end());
这就是我已经使用,但它似乎没有按预期工作 – MyNameIsKhan
以什么方式?需要注意的是,如果第一个元素相同(而不是保留原始顺序),它将按第二个元素排序。 – nneonneo
@AaststASicilian您可能正在寻找'std :: stable_sort'? – Rapptz
std::pair
s comparison operators字典顺序比较对,它首先比较的第一要素,那么第二个元素,如果第一个要素是平等的。
Here is an example of using std::vector<std::pair<int, int>>
and std::sort
。
使用std::sort
这种方式使用std::pair
的operator <
,正如上面所说的,对按字母顺序比较。
使用std::stable_sort
,这样保证了平等元素的相对顺序将被保留。也就是说,即使std::pairs
的第一个元素相等,原始相对顺序仍然保留。
任何方式在第一次相等时在第二秒增加订单? – MyNameIsKhan
- 1. 按第一个元素排序向量,然后按C中第二个元素排序C
- 2. 按方案中对的第二个元素对排序列表
- 3. 按第一个元素对元素列表排序,但如果按第二个元素排序则等于
- 4. 如何按降序和第二个元素对对的向量进行排序?
- 5. 按行中的第一个元素对csv进行排序
- 6. STXXL:如何对第二个元素上的对的向量进行排序?
- 7. 按元素列表的第二个元素对列表进行排序
- 8. 如何从一对矢量中提取第二个元素?
- 9. 如何删除第一个元素并使第二个元素成为java.util.NavigableSet中的第一个元素?
- 10. 如何根据对中的第二个元素对对的向量进行排序?
- 11. 根据数组的第一个元素对double [,]进行排序
- 12. 在第一个元素上获得给定重量限制对的第二个元素的最大总和
- 13. 第一个浮动元素与第二个浮动元素
- 14. 从列表中获取第3个元素的第一个元素和第二个元素 - Haskell
- 15. 在列表C++中查找第一个和第二个元素
- 16. 第一个元素点击显示第一个模态,第二个元素点击显示第二个模态
- 17. SQL:按第一个关系对第二个表进行排序
- 18. 基于第一个数组元素对文件进行排序
- 19. 查找第二个向量中的向量元素
- 20. 如何拥有一个第二个元素是一个列表的对?
- 21. 检索C++向量中的第一个元素
- 22. 排除在CSS中第一个元素
- 23. 对一个向量的两个元素应用一个函数
- 24. Python:如何按最常见的第一个元素对列表进行排序?
- 25. 如何仅使用一行css将第二和第三个元素与第n个子元素对齐?
- 26. 的第一个子元素
- 27. 如果第二个元素相同,则将列表中的第一个元素合并为一个元组?
- 28. 抓住的第一个元素中的对象(PHP)
- 29. 针对第一个子对象的所有元素
- 30. 按第三个元素排序Python列表,然后按第一个元素排序?
'的std :: sort'自定义比较 – Borgleader
呃,伙计,你要通过第二,如果首创等于排序,但你对我的回答您的评论,否则说。 – nneonneo
您最初对我的问题发表了评论:*“第二种维护秩序的任何方式?”*那么究竟是什么问题呢? –