首先 要先定义结构体的书写形式:
bool cmp(point a,point b) 为例
定义结构体的使用方式 如何使用来达到排序的作用
其次是在排序过程中 例:sort(c,c+n,cmp) C可以是之前定义好的数组 而n则是个数的多少 cmp则是把快排的排列顺序按之前设定好的结构体的形式排序
以下是例题演示:猴王

#include<stdio.h>
#include<math.h>
#include<algorithm>
using namespace std;
struct point
{
int x;
int y;
}
c[50001];
bool cmp(point a,point b)
{
if(a.x==b.x)return a.y<b.y;
return a.x<b.x;
}
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
if(n==0)break;
int i;
for(i=0;i<n;i++)
{
scanf("%d %d",&c[i].x,&c[i].y);
}
sort(c,c+n,cmp);
int king1=c[n-1].x;
int king2=c[n-1].y;
int sum=1;
for(i=n-1;i>=0;i--)
{
if(c[i].x==king1)
continue;
if(c[i].x<king1)
{
king1=c[i].x;
if(c[i].y>king2)
{
sum++;
king2=c[i].y;
}
}
}
printf("%d\n",sum);
}
return 0;
}