库函数(小知识)
作者:
我是java同学
,
2023-02-05 17:46:23
,
所有人可见
,
阅读 260
sort自定义排序
- bool cmp(int a, int b) 意思是——a是否应该排到b的前面,是就返回true否则false
结构体排序——定义比较函数或重载小于号
//结构体不能直接排序 定义比较函数
#include <iostream>
#include <algorithm>
using namespace std;
struct Rec
{
int x, y;
//bool operator< (const Rec &t) const重载小于号
}a[5];
bool cmp(Rec a, Rec b)
{
return a.x < b.x;
}
int main()
{
for (int i = 0; i < 5; i ++ )
{
a[i].x = -i;
a[i].y = i;
}
for (int i = 0; i < 5; i ++ ) printf("(%d %d)", a[i].x, a[i].y);
cout << endl;
sort(a, a + 5, cmp);
// sort(a, a + 5, [&](Rec A, Rec B) {
// return A.x < B.y;
// };
for (int i = 0; i < 5; i ++ ) printf("(%d %d)", a[i].x, a[i].y);
cout << endl;
return 0;
}
也可以用 Lambda
哇喔学到了,时间效率上哪个更快一些呢
都差不多,第二种好写一点(
感谢感谢!
嘿嘿,你教的匿名函数的用法太好用啦,驾轻就熟哈哈,谢谢你!
用匿名函数写这题试试
https://www.acwing.com/solution/content/168431/
好啦!