C++ 算法 sort()

2024年8月30日 | 阅读4分钟

C++ 算法 sort() 函数用于将范围 [first, last) 内的元素按升序排序。

第一个版本使用运算符 < 比较元素,第二个版本使用 comp 比较元素。

语法

参数

first:指向要排序范围内的第一个元素的随机访问迭代器。

last:指向要排序范围内的最后一个元素之后一个位置的随机访问迭代器。

comp:一个用户定义的二元谓词函数,接受两个参数,如果这两个参数有序则返回true,否则返回false。它遵循严格的弱排序来对元素进行排序。

返回值

复杂度

排序的平均复杂度为 N*log2 (N),其中 N = last - first。

数据竞争

范围 [first, last) 中的对象被修改。

异常

如果任何元素比较、元素交换或迭代器上的操作抛出异常,此函数将抛出异常。

注意:无效参数会导致未定义行为。

示例 1

让我们看一个简单的例子来演示 sort() 的用法

输出

Before sorting: 3 1 4 2 5 
After sorting:  1 2 3 4 5

示例 2

让我们看另一个简单示例

输出

myvector contains: 12 26 32 33 45 53 71 80

示例 3

让我们看另一个简单示例

输出

Sorted list of functional programming languages - 
C#    C++    Java    Lisp    Pascal    Python    Sql    
Reverse Sorted list of functional programming languages - 
Sql    Python    Pascal    Lisp    Java    C++    C#  

示例 4

让我们看另一个简单示例

输出

Original random shuffle vector vec1 data:
4 10 11 15 14 5 13 1 6 9 3 7 8 2 0 12 

Sorted vector vec1 data:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 

Re sorted (greater) vector vec1 data:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 

User defined re sorted vector vec1 data:
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

下一主题C++ 算法