题目

思路
这里直接把x和y换一下输入然后排序就完事了。。
代码
#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
struct ele
{
int x;
int y;
int d;
};
bool cmp(ele a, ele b)
{
if(a.x == b.x)
return (a.y < b.y);
return(a.x < b.x);
}
int main()
{
int row, col, n;
cin >> row >> col >> n;
ele* metrix = new ele[n];
for(int i = 0; i < n; i++)
{
cin >> metrix[i].y >> metrix[i].x >> metrix[i].d;
}
sort(metrix, metrix + n, cmp);
for(int i = 0; i < n; i++)
cout << metrix[i].x <<" "<< metrix[i].y <<" "<< metrix[i].d << endl;;
}
该博客主要介绍了如何使用C++对包含x和y坐标的结构体数组进行排序。通过定义一个比较函数cmp,实现了先按x坐标升序,x相同则按y坐标降序的排序规则。代码中首先读取数据,然后调用sort函数进行排序,并输出排序后的结果。
3697

被折叠的 条评论
为什么被折叠?



