list中sort降序排列 c++
时间: 2024-02-12 17:01:32 浏览: 99
在C++中,可以使用标准库中的`std::sort`函数对`std::list`进行排序。要实现降序排列,可以使用自定义的比较函数或者使用lambda表达式。
以下是一个示例代码,演示如何对`std::list`进行降序排序:
```cpp
#include <iostream>
#include <list>
#include <algorithm>
bool compare(int a, int b) {
return a > b; // 降序排列
}
int main() {
std::list<int> myList = {5, 2, 8, 1, 9};
// 使用自定义的比较函数进行降序排序
myList.sort(compare);
// 输出排序后的结果
for (int num : myList) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:9 8 5 2 1
在上述代码中,我们定义了一个名为`compare`的比较函数,该函数返回`true`表示第一个参数大于第二个参数,从而实现降序排列。然后,我们使用`std::sort`函数对`std::list`进行排序,并传入自定义的比较函数作为参数。
如果你不想定义额外的比较函数,也可以使用lambda表达式来实现相同的效果。以下是使用lambda表达式的示例代码:
```cpp
#include <iostream>
#include <list>
#include <algorithm>
int main() {
std::list<int> myList = {5, 2, 8, 1, 9};
// 使用lambda表达式进行降序排序
myList.sort([](int a, int b) { return a > b; });
// 输出排序后的结果
for (int num : myList) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:9 8 5 2 1
使用lambda表达式可以直接在`std::sort`函数的参数中定义比较规则,避免了定义额外的比较函数。
阅读全文
相关推荐
















