C++ <list> sort 函数
sort 是 list 中用于对链表进行排序的函数,是链表特有的高效操作。
sort 是容器类的成员函数,用于对链表中的元素进行排序。
list 的 sort 使用归并排序,时间复杂度是 O(n log n),且不会造成元素的移动。
单词释义: sort 表示"排序",即对元素进行排序。
基本语法与参数
语法格式
void sort(); void sort(Compare comp);
参数说明
- 参数(可选):
comp- 比较函数
函数说明
- 返回值:
void(无返回值)。 - 效果: 对链表中的元素进行排序。
实例
示例 1:基础排序
实例
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "排序前: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "排序后: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
std::cout << "排序前: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
numbers.sort();
std::cout << "排序后: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
运行结果预期:
排序前: 5 2 8 1 9 3 排序后: 1 2 3 5 8 9
示例 2:降序排序
实例
#include <iostream>
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// 降序排序
numbers.sort(std::greater<int>());
std::cout << "降序排序后: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
#include <list>
int main() {
std::list<int> numbers = {5, 2, 8, 1, 9, 3};
// 降序排序
numbers.sort(std::greater<int>());
std::cout << "降序排序后: ";
for(int n : numbers) std::cout << n << " ";
std::cout << std::endl;
return 0;
}
运行结果预期:
降序排序后: 9 8 5 3 2 1
C++ 容器类 <list>
点我分享笔记