This commit is contained in:
parent
5c03c9e3f2
commit
af6afd2d77
@ -63,6 +63,7 @@
|
||||
# STL
|
||||
|
||||
- [总结](./stl.md)
|
||||
- [排序](./stl_sorting.md)
|
||||
|
||||
# 技巧
|
||||
|
||||
|
44
notes/src/stl_sorting.md
Normal file
44
notes/src/stl_sorting.md
Normal file
@ -0,0 +1,44 @@
|
||||
# 排序
|
||||
|
||||
升序排序:
|
||||
|
||||
```cpp
|
||||
void ascending(std::vector<int> &x) {
|
||||
// #include <algorithm>
|
||||
std::sort(x.begin(), x.end());
|
||||
}
|
||||
```
|
||||
|
||||
降序排序:
|
||||
|
||||
```cpp
|
||||
void descending(std::vector<int> &x) {
|
||||
// #include <algorithm>
|
||||
// #include <functional>
|
||||
std::sort(x.begin(), x.end(), std::greater<int>());
|
||||
}
|
||||
```
|
||||
|
||||
自定义比较函数:
|
||||
|
||||
```cpp
|
||||
struct Data {
|
||||
std::string name;
|
||||
int age;
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief 自定义比较函数
|
||||
*
|
||||
* @param a 第一个待比较的值
|
||||
* @param b 第二个待比较的值
|
||||
* @return 返回为 true 时代表 a 应该放在 b 前面
|
||||
*/
|
||||
bool compareFunc(Data &a, Data &b) {
|
||||
return a.name.length() > b.name.length();
|
||||
}
|
||||
|
||||
void customCompare(std::vector<Data> &x) {
|
||||
std::sort(x.begin(), x.end(), compareFunc);
|
||||
}
|
||||
```
|
Loading…
Reference in New Issue
Block a user