sort的用法
这句代码:
1 | sort(nums1.begin(), nums1.end()); |
是 C++ STL(标准模板库) 中用来 对容器内容进行排序 的语句。
我们来一步一步解释👇
一、sort() 是什么
sort() 是 C++ 标准库中的一个排序函数,定义在头文件:
1 |
它能对一段范围(区间)的数据按 升序(从小到大) 排序。
二、nums1.begin() 和 nums1.end() 是什么
假设:
1 | vector<int> nums1 = {5, 2, 9, 1}; |
nums1.begin():指向nums1第一个元素(即5)的迭代器。nums1.end():指向 最后一个元素的下一个位置(即超尾元素)。
所以:
1 | sort(nums1.begin(), nums1.end()); |
表示让 sort() 对整个 nums1 里的元素排序。
三、执行结果示例
执行前:
1 | nums1 = {5, 2, 9, 1}; |
执行:
1 | sort(nums1.begin(), nums1.end()); |
执行后:
1 | nums1 = {1, 2, 5, 9}; |
默认按 从小到大 排序。
四、如果想改为从大到小排序
可以传第三个参数(比较函数):
1 | sort(nums1.begin(), nums1.end(), greater<int>()); |
结果:
1 | nums1 = {9, 5, 2, 1}; |
小结
| 部分 | 含义 |
|---|---|
sort() |
C++ 排序函数 |
nums1.begin() |
第一个元素 |
nums1.end() |
最后一个元素的下一个位置 |
sort(nums1.begin(), nums1.end()) |
对整个 nums1 升序排序 |
sort(nums1.begin(), nums1.end(), greater<int>()) |
对整个 nums1 降序排序 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 zhaijiang的小窝!

