c++ sort用法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c++ sort用法
在C++中,你可以使用sort函数对一个数组或容器进行排序。

sort函数属于<algorithm>头文件中的一个函数,它提供了多个重载版本,可以满足不同的排序需求。

以下是sort函数的常见用法:
1. 对数组排序:
```cpp
#include <algorithm>
int arr[] = {5, 2, 9, 1, 3};
std::sort(arr, arr + sizeof(arr) / sizeof(arr[0]));
// 输出排序后的数组
for(int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
std::cout << arr[i] << " ";
}
```
2. 对容器排序:
```cpp
#include <algorithm>
#include <vector>
std::vector<int> vec = {5, 2, 9, 1, 3};
std::sort(vec.begin(), vec.end());
// 输出排序后的容器
for(int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
```
3. 自定义排序规则:
```cpp
#include <algorithm>
#include <vector>
struct Person {
std::string name;
int age;
};
// 自定义排序规则:根据年龄升序排序
bool ageComparison(const Person& p1, const Person& p2) { return p1.age < p2.age;
}
int main() {
std::vector<Person> people = {{"Amy", 25}, {"Tom", 20}, {"John", 30}};
std::sort(people.begin(), people.end(), ageComparison);
// 输出排序后的人员信息
for(int i = 0; i < people.size(); i++) {
std::cout << people[i].name << " (" << people[i].age << ")" << std::endl;
}
}
```
在以上的示例中,sort函数对给定的数组或容器进行了排序。

对于数组,我们可以使用`std::sort(arr, arr + sizeof(arr) /
sizeof(arr[0]))`来指定要排序的范围。

对于容器,我们可以使用`std::sort(vec.begin(), vec.end())`来指定要排序的范围。

如果需要自定义排序规则,可以提供一个函数或函数对象来作为sort函数的第三个参数。

该函数或函数对象用于比较数组或容器中的元素,返回一个布尔值来决定元素顺序。

在上述示例中,我们提供了一个自定义的比较函数`ageComparison`来按照人员的年龄升序排序。

相关文档
最新文档