四.c++中的算法--排序及相关操作---全部元素排序

来源:互联网 发布:初级java最大值最小值 编辑:程序博客网 时间:2024/06/15 08:11

1. 排序和相关操作

1.全部元素排序

  • sort()
  • stable_sort()

需要访问随机存储迭代器,因此只能适用于vectordeque容器,由于list容器不支持随机迭代器,所以不能使用这个算法std::sort(list),但是,可以使用list.sort()

1.sort():

函数声明:

template< class RandomIt >void sort( RandomIt first, RandomIt last );template< class RandomIt, class Compare >void sort( RandomIt first, RandomIt last, Compare comp );

说明:
1. 按升序对范围[first,last)中的元素进行排序。相等元素的顺序不保证与原顺序一致。
2. 第一个版本使用operator<来比较元素,第二个版本使用给定的比较函数comp.

2.stable_sort():

函数声明:

template< class RandomIt >void stable_sort( RandomIt first, RandomIt last );template< class RandomIt, class Compare >void stable_sort( RandomIt first, RandomIt last, Compare comp );

说明:
1. 范围[first, last)中的元素进行排序按升序排列。保证保留相等元素的顺序。
2. 第一个版本使用operator<的比较的元素,第二个版本使用给定的比较函数comp.

因此,这两个函数,使用stable_sort()更有稳定,可靠。这两个函数都需要随机访问迭代器

原创粉丝点击