讨论 / k小数改进,最好给出代码。
2013cqf 2013-10-06 08:48:00
点我顶贴 收藏 删除
#include<iostream>

int k[10000];

int k1[10000];

inline int comp(const void * a, const void * b)

{

return *(int*)a - *(int*)b;

}

int main()

{

int a,b,c,d,e,begin,end,nu;

scanf("%d%d",&a,&b);

for(c=1;c<=a;c++)

scanf("%d",&k[c]);

for(c=1;c<=b;c++)

{

scanf("%d%d%d",&begin,&end,&nu);

e=begin;

for(d=1;e<=end;d++,e++)

k1[d]=k[e];

qsort(k1,end-begin+2, sizeof(int), comp);

printf("%d\n",k1[nu]);

}

return 0;

}

#1 zangfenziang@2013-10-06 08:48:00
回复 删除
要用双关键字排序,也就是comp要改为:

struct dd{

int x,y;

}m[10000];

int comp(const void *a,const void *b)

{

struct dd *c=(struct dd*)a;

struct dd *d=(struct dd*)b;

if(c->x!=d->x){return(c->x-d->x);}

else{return(c->y-d->y);}

}

查看更多回复
提交回复