⚡
STL入门
C++标准库强大工具
📖知识引入
📦#include <algorithm>
引入算法库,提供sort等强大函数
⚡sort()快速排序
sort(v.begin(), v.end()) 默认升序排序
🔄vector方法
vector提供rbegin/rend等方法支持降序
📊自定义排序
可传第三个参数自定义比较规则,如降序greater
⏱️sort复杂度
sort底层是快速排序,时间复杂度O(n log n)
🔍STL sort与vector示例
📝STL sort与vector示例
💻
点击「运行」查看输出
STL sort排序过程:
v = {5, 2, 8, 1, 9, 3}升序排序后: ┌───┬───┬───┬───┬───┬───┐ │ 1 │ 2 │ 3 │ 5 │ 8 │ 9 │ └───┴───┴───┴───┴───┴───┘
降序排序后(rbegin/rend): ┌───┬───┬───┬───┬───┬───┐ │ 9 │ 8 │ 5 │ 3 │ 2 │ 1 │ └───┴───┴───┴───┴───┴───┘
begin()指向第一个元素 end()指向最后一个的后面 rbegin()/rend()反向迭代
🎯小测验
第1题:sort默认排序是?
第2题:sort需要什么头文件?
第3题:如何让sort降序排序?
📝本课知识点
- ✓sort快速排序
- ✓默认升序
- ✓rbegin/rend降序
- ✓可自定义比较规则
- ✓时间复杂度O(n log n)
第34课完成!继续探索下一课吧 🚀