c++sort参数使用
时间: 2023-08-27 21:16:22 浏览: 82
C++ 的 `sort` 函数用于对容器中的元素进行排序。它的基本语法如下:
```cpp
#include <algorithm>
sort(first, last, comp);
```
- `first` 和 `last` 是迭代器,用于确定要排序的范围。`first` 指向要排序的第一个元素,`last` 指向要排序的最后一个元素的下一个位置。
- `comp` 是可选的比较函数,用于指定排序的顺序。如果不提供该参数,则默认使用 `<` 运算符进行比较。
以下是一些常见的用法示例:
1. 对整型数组进行升序排序:
```cpp
#include <algorithm>
#include <iostream>
#include <vector>
int main() {
std::vector<int> numbers = {5, 2, 8, 1, 9};
std::sort(numbers.begin(), numbers.end());
for (auto num : numbers) {
std::cout << num << " ";
}
return 0;
}
```
输出:`1 2 5 8 9`
2. 对自定义类型的容器进行排序,需要提供比较函数:
```cpp
#include <algorithm>
#include <iostream>
#include <vector>
struct Person {
std::string name;
int age;
};
bool compareAge(const Person& p1, const Person& p2) {
return p1.age < p2.age;
}
int main() {
std::vector<Person> people = {{"Alice", 25}, {"Bob", 20}, {"Charlie", 30}};
std::sort(people.begin(), people.end(), compareAge);
for (auto person : people) {
std::cout << person.name << " (" << person.age << ") ";
}
return 0;
}
```
输出:`Bob (20) Alice (25) Charlie (30)`
这些示例演示了 `sort` 函数的基本用法。你可以根据需要自定义比较函数,以实现不同的排序方式。
阅读全文