找回密码
 立即注册
收起左侧

关于qSort的使用

1
回复
3108
查看
[复制链接]
累计签到:11 天
连续签到:1 天
来源: 2014-4-13 18:39:25 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 qqyypig 于 2014-4-13 18:46 编辑


void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));

使用这个函数的时候,一直达不到自己想要的排序效果,请教哪里写错了 ? 就是先按照构造体PICINFOorigin_y升序排列,如果origin_y中的值相同,那么再按照,构造体PICINFO 中的origin_x 升序排列
  1. /**
  2. * @brief subarraysYSort
  3. * @param infoFirst
  4. * @param infoSecond
  5. * @return
  6. */
  7. bool subarraysYSort(const PICINFO &infoFirst,const PICINFO &infoSecond)
  8. {
  9.        int i = infoFirst.origin_y.compare(infoSecond.origin_y);
  10.        if( i == 0 ){
  11.              return (infoFirst.origin_x < infoSecond.origin_x);
  12.        }else{
  13.            return (infoFirst.origin_y.toFloat() < infoSecond.origin_y.toFloat());
  14.       }
  15. }

  16. QList<PICINFO> subarraysList_y
  17. qSort(subarraysList_y.begin(),subarraysList_y.end(),subarraysYSort);
复制代码
回复

使用道具 举报

累计签到:11 天
连续签到:1 天
2014-5-8 11:30:45 显示全部楼层
最后解决使用的是std::sort
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了