想用C++的qsort做间接排序,怎么写比较函数?
intu[maxn],v[maxn],w[maxn],r[maxn],p[maxn];intsum=0;intcmp(constvoid*a,constvoid*b){r...
int u[maxn],v[maxn],w[maxn],r[maxn],p[maxn];
int sum=0;
int cmp(const void *a,const void *b){
return *(w[(int*)a]-w[(int*)b]);
}
qsort(r,sizeof(int)*k,cmp);
现在r数组里是1..n
w数组是1..n边的权值.
现在希望在r里存入w里权值从小到大的边的序号...
现在这样哪里错了? 展开
int sum=0;
int cmp(const void *a,const void *b){
return *(w[(int*)a]-w[(int*)b]);
}
qsort(r,sizeof(int)*k,cmp);
现在r数组里是1..n
w数组是1..n边的权值.
现在希望在r里存入w里权值从小到大的边的序号...
现在这样哪里错了? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询