34课:STL入门

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课完成!继续探索下一课吧 🚀