Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

您现在的位置是:网站首页 -> 代码相关 文章内容

关于STL容器map的排序函数-itarticl.cc-IT技术类文章记录&分享

发布时间: 8年前代码相关 143人已围观返回

The STL algorithms for stable_sort() and sort() require the binary predicate to be strict weak ordering.

For example:

· Strict: pred(X, X) is always false.

· Weak: If !pred(X, Y) && !pred(Y, X), X==Y.

· Ordering: If pred(X, Y) && pred(Y, Z), then pred(X, Z).


Below either of the options will resolve the issue

First Option:-

bool CustPredicate (int elem1, int elem2 )

{

if(elem1 > elem2)

return true;

if (elem1 < elem2)

return false;

return false; //Should return false if both the vaules are same

}

Second Option:-

bool CustPredicate (int elem1, int elem2 )

{

return elem1 > elem2;

}


sort函数里面相等时应该返回false 这样才符合Weak: If !pred(X, Y) && !pred(Y, X), X==Y.规则


此方法同等并适应于于lua里的排序函数规则

发布时间: 8年前代码相关143人已围观返回回到顶端

很赞哦! (1)

文章评论

  • 请先说点什么
    热门评论
    142人参与,0条评论

站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流