排序

   partial_sort(MyTestContain.begin()+1,MyTestContain.begin()+3,MyTestContain.begin()+6,Comparefunc);//partial_sort(a b c) 在a->c中排序,选取前b-a个,顺序的!!!放到a->b的位置。

 

 

  nth_element(MyTestContain.begin()+1,MyTestContain.begin()+5,MyTestContain.end(),Comparefunc); //这个更诡异,文章认为这个函数只是将数据分块,不排序。在a->c中排序,选取前b-a个,随意的!!!放到a->b的位置

 

 

   bound=partition(MyTestContain.begin()+2,MyTestContain.end()-3,Comparefunc2);

貌似和partial_sort用法相近,不过是这样的:

前两个函数是二元运算,是两个element之间的比较

后一个是一元运算,element和benchmark比较

 

 

“所谓的严格弱排序可理解为键类型数据上的“小于”关系。当用于一个键与自身的比较时,肯定会导致 false 结果。

如果它们相互之间都不存在“小于”关系,则容器将之视为相同的键。用做 map 对象的键时,可使用任意一个键值来访问相应的元素。”

也就是说,如果数值相同,compare函数要返回false,否则排序将抛出错误!

posted on 2013-08-06 16:09  shoutcharter  阅读(133)  评论(0编辑  收藏  举报

导航