【问题标题】:How will the sorting be done with vector<pair<int,pair<int,int>>>?如何使用 vector<pair<int,pair<int,int>>> 进行排序?
【发布时间】:2016-01-27 12:04:14
【问题描述】:

在代码sort(A.begin(),A.end()); 中,A 定义为vector&lt;pair&lt;int,pair&lt;int,int&gt;&gt;&gt; A;

如果我调用sort方法,那么排序的依据是什么?

【问题讨论】:

标签: c++ sorting vector


【解决方案1】:

它将使用operator &lt;std::pairspecified here 进行比较。

它首先在 first 元素上按字典顺序比较元素,如果它们相等,则在 second 元素上进行比较。

考虑到这里pair&lt;int,pair&lt;int,int&gt;&gt; 的复杂类型,给std::sort 算法一个自定义比较器可能是一个更好的主意。确保提供的函子满足Compare 概念的要求,即严格的弱排序

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 2020-10-22
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 1970-01-01
    相关资源
    最近更新 更多