考察的是结构体的二次快排
#include<stdio.h>
#include<stdlib.h>
typedef struct Node{
int fir;
int end;
}Node;
Node node[110];
int cmp(const void *a,const void *b)
{
return (*(node *)a).end>(*(node *)b).end?1:-1;
}
int main()
{
int n,i,j,count;
while(~scanf("%d",&n),n)
{
for(i=0;i<n;i++)
{
scanf("%d%d",&node[i].fir,&node[i].end);
}
qsort(node,n,sizeof(node[0]),cmp);
j=0;
count=1;
for(i=1;i<n;i++)
{
if(node[i].fir>=node[j].end)
{
j=i;
count++;
}
}
printf("%d\n",count);
}
return 0;
}
原文地址:http://blog.csdn.net/ice_alone/article/details/38225247