结构体排序c++代码
时间: 2023-11-05 08:06:07 浏览: 105
c++排序代码
在C++中,可以使用sort函数对结构体进行排序。以下是几种常见的结构体排序方法:
1. 使用sort函数和cmp函数规定排序方法:
```
typedef struct {
string book;
int num;
} Book;
// cmp函数规定排序方法
bool cmp(const Book& a, const Book& b) {
return a.num > b.num;
}
// 使用sort函数对结构体进行排序
sort(a, a + n, cmp);
```
2. 重载“<”比较运算符规定sort排序方法:
```
struct node {
int x, y;
bool operator < (const node& i) const {
if(x != i.x) return x < i.x;
else return y < i.y;
}
} a[maxn];
// 使用sort函数对结构体进行排序
sort(a + 1, a + 1 + n);
```
3. 不使用sort函数,直接在结构体内部进行排序:
```
struct node {
int x, y;
bool operator < (const node& i) const {
if(x != i.x) return x < i.x;
else return y < i.y;
}
} a[maxn];
// 使用冒泡排序对结构体进行排序
for(int i = 1; i <= n; i++) {
for(int j = i + 1; j <= n; j++) {
if(a[i] < a[j]) swap(a[i], a[j]);
}
}
```
阅读全文