码迷,mamicode.com
首页 > 编程语言 > 详细

stl_algorithm算法之排序算法

时间:2017-05-01 00:29:31      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:blog   个数   while   algorithm   比较   分割   复制   toolbar   span   

排序算法:

  注意:容器中必须重载 op< ,排序中stl标准中要求用小于来进行比较。

7.53、sort //全排序。

7.54、stable_sort //稳定排序。两个或两个以上的相邻且相等的元素是不会进行相对位置的变化的。

7.55、partial_sort //部分排序。会先调用sort得到指定个数的全部排序的结果,而调用sort只是中间过程。结果是
          //除了指定个数之外其他的元素该是如何还是如何。

7.56、partial_sort_copy //获得部分排序个数的结果。

技术分享
7.57、template <class ForwardIterator>
bool is_sorted (ForwardIterator first, ForwardIterator last)
{
  if (first==last) return true;
  ForwardIterator next = first;
  while (++next!=last) {
    if (*next < *first) // or, if (comp(*next,*first)) for version (2)
    return false; //标准指定有小于号来进行比较排序。从小到大。
    ++first;
  }
  return true;
}
//所做的事情是:判断区间是否已经是排序好了的。这个排序是从小到大,而从大到小也是会返回FALSE。
技术分享
技术分享
7.58、template <class ForwardIterator>
ForwardIterator is_sorted_until (ForwardIterator first, ForwardIterator last)
{
  if (first==last) return first;
  ForwardIterator next = first;
  while (++next!=last) {
    if (*next < *first) return next; //返回已经排序好的最后一个位置的后一个。
    ++first;
  }
  return last;
}
//所做的事情是:返回直到排序好的最后一个位置的下一个。

7.59、nth_element //对第n大的元素进行大小的分割,左边小,右边大。

stl_algorithm算法之排序算法

标签:blog   个数   while   algorithm   比较   分割   复制   toolbar   span   

原文地址:http://www.cnblogs.com/xiaohaige/p/6790707.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!