首页 > 代码库 > stl_algorithm算法之排序算法

stl_algorithm算法之排序算法

排序算法:

  注意:容器中必须重载 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算法之排序算法