为了账号安全,请及时绑定邮箱和手机立即绑定

不要去纠结程序是啥,变量是啥?麻烦帮忙看一下嘛?

不要去纠结程序是啥,变量是啥?麻烦帮忙看一下嘛?

森林海 2022-11-18 16:17:02
例如int cmp(const void *a,const void *b){return *(int *)b-*(int *)a;}qsort(a,n,sizeof(a[0]),cmp);另外解释一下例子中的CMP例子2:int cmp(edge a,edge b){return a.w<b.w;}  sort(e,e+m,cmp); //其中e是结构体数组,结构类型为edge
查看完整描述

2 回答

?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

cmp 就是比较函数,用于确定两个对象的大小关系
这是需要你自己定义的

查看完整回答
反对 回复 2022-11-22
?
海绵宝宝撒

TA贡献1809条经验 获得超8个赞

声明成一个返回值是 int ,参数是两个 void* 类型的函数就可以了,这个函数会被算法实现的代码调用的
具体实现:
 
int my_cmp(void* p1,void* p2)
{
    // p1 代表第一个对象的地址指针
   //  p2 代表第二个对象的地址指针
   // p1 和 p2 的具体类型就是你数组定义时的类型,可以是简单的类型,也可以是结构、C++对象等
   // 在这个函数中你要将这些 p1 p2 转化成实际的数据类型,然后进行比较
   // 如果第一个对象等于第二个对象,则返回0
   // 如果第一个对象大于第二个对象,则返回正数
   // 如果第一个对象小于第二个对象,则返回负数
}


查看完整回答
反对 回复 2022-11-22
  • 2 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号