命名空间
变体
操作

std::experimental::ranges::sort

来自 cppreference.cn
< cpp‎ | experimental‎ | ranges
 
 
实验性
技术规范
文件系统库 (文件系统 TS)
库基础 (库基础 TS)
库基础 2 (库基础 TS v2)
库基础 3 (库基础 TS v3)
并行性扩展 (并行性 TS)
并行性扩展 2 (并行性 TS v2)
并发性扩展 (并发性 TS)
并发扩展2 (并发 TS v2)
概念 (概念 TS)
范围 (范围 TS)
反射 (反射 TS)
数学特殊函数 (特殊函数 TR)
实验性非 TS
模式匹配
线性代数
std::execution
契约
2D 图形
 
 
 
template< RandomAccessIterator I, Sentinel<I> S,

          class Comp = ranges::less<>, class Proj = ranges::identity >
    requires Sortable<I, Comp, Proj>

I sort( I first, S last, Comp comp = Comp{}, Proj proj = Proj{} );
(1) (ranges TS)
template< RandomAccessRange R,

          class Comp = ranges::less<>, class Proj = ranges::identity >
    requires Sortable<ranges::iterator_t<R>, Comp, Proj>

ranges::safe_iterator_t<R> sort( R&& r, Comp comp = Comp{}, Proj proj = Proj{} );
(2) (ranges TS)
1) 将范围 [firstlast) 中的元素按升序排序。不保证相等元素的顺序。在应用投影 proj 后,使用 comp 比较元素。
2) 对范围 r 中的元素进行排序,如同通过 return ranges::sort(ranges::begin(r), ranges::end(r), comp, proj);

尽管上述声明所示,算法声明的实际模板参数数量和顺序未指定。因此,如果在调用算法时使用显式模板参数,程序可能不可移植。

目录

[编辑] 参数

first, last - 要排序的元素范围
r - 要排序的元素范围
comp - 要使用的比较器
proj - 要应用于范围中元素的投影

[编辑] 返回值

一个指向范围末尾的迭代器(即,对于重载 (1),它与 last 比较相等;对于重载 (2),它与 ranges::end(r) 比较相等)。

[编辑] 复杂度

O(N·log(N)) 次比较,其中 N 等于范围中的元素数量。

[编辑] 示例

[编辑] 另请参阅

将一个范围按升序排序
(函数模板) [编辑]