结构体/类排序

(c++) 结构体排序:

利用重载运算符operator

1
2
3
4
5
6
7
struct Range{
int l,r;
bool operator < (const Range &t){
return this->r<ranget.r;//按右端点r进行排序
}
}range[N];
sort(range,range+n);
1
2
3
4
5
6
7
8
9
10
struct Range{
int x,y,z;
bool operator < (const Range &t){
//排序优先级分别为x,y,z
if(x!=t.x) return x<t.x
if(y!=t.y)return y<t.y;
return z<t.z;
}
}range[N];
sort(range,range+n);

(java) 类排序

利用list类做容器存储类,再用其类库函数实现排序

1
2
3
4
5
6
7
8
9
10
11
12
13
public static void main(String[]args){
ArrayList<pii> list=new ArrayList<>();
list.sort((o1,o2)->o1.l-o2.l);//以左端点l升序排序
list.sort((o1,o2)->o2.r-o1.r);//以右端点r降序排序
}

static class pii {
int l, r;
pii(int l, int r) {
this.l = l;
this.r = r;
}
}

结构体/类排序
http://example.com/2022/07/08/结构体-类排序/
作者
Charry
发布于
2022年7月8日
许可协议