当我们对结构体数组进行排序时,我们首先需要去确定该结构体数组中的关键字,也就是我们将以此关键字为参考对象去进行排序。在排序的过程中,我们是以交换结构体地址的方式去进行排序,也就是将会连着结构体中的其他元素跟着关键字一同改变,并非单纯地交换了关键字的顺序。
我们需要去写入cmp函数,去实现我们的排序方式(升序还是降序);
下面直接看代码:
#include <iostream>
using namespace std;
//定义结构体数组;
struct st
{
int n, m, x, y;
} arr[10];
// 写入cmp函数,此例是以x为关键字,且为升序排序;
bool cmp(st a, st b)
{
return a.x < b.x;
}
int main()
{
sort(arr, arr + 10, cmp);
return 0;
}