C语言的结构体排序实现方法:
#include <iostream>
#include <algorithm>
using namespace std;
struct data
{
int a;
int b;
void Init()
{
cin >> a >> b;
}
};
bool cmp(struct data d1, struct data d2)
{
return d1.a < d2.a;
}
int main()
{
int N;
cin >> N;
struct data d[100];
for(int i = 0; i < N; i++)
{
d[i].Init();
}
sort(d, d + N, cmp);
cout << endl;
for(int i = 0; i < N; i++)
{
cout << d[i].a << ' ' << d[i].b << endl;
}
}
C++语言的类排序实现方法:
#include <iostream>
#include <algorithm>
using namespace std;
class data
{
private:
int a;
int b;
public:
data(){a = 0; b = 0;}
void Init()
{
cin >> a >> b;
}
void Pop()
{
cout << a << ' ' << b << endl;
}
bool operator<(const data& d2)
{
return a < d2.a;
}
bool operator>(const data& d2)
{
return a > d2.a;
}
};
int main()
{
int N;
cin >> N;
class data d[100];
for(int i = 0; i < N; i++)
{
d[i].Init();
}
sort(d, d + N, greater<>());
cout << endl;
for(int i = 0; i < N; i++)
{
d[i].Pop();
}
}