想用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里权值从小到大的边的序号...
现在这样哪里错了?
展开
 我来答
porker2008
2011-11-02 · TA获得超过1.4万个赞
知道大有可为答主
回答量:7066
采纳率:62%
帮助的人:1.1亿
展开全部
int cmp(const void *a,const void *b){
return w[*((int*)a)]-w[*((int*)b)];
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式