|
本帖最后由 qqyypig 于 2014-4-13 18:46 编辑
void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
使用这个函数的时候,一直达不到自己想要的排序效果,请教哪里写错了 ? 就是先按照构造体PICINFO 中origin_y升序排列,如果origin_y中的值相同,那么再按照,构造体PICINFO 中的origin_x 升序排列- /**
- * @brief subarraysYSort
- * @param infoFirst
- * @param infoSecond
- * @return
- */
- bool subarraysYSort(const PICINFO &infoFirst,const PICINFO &infoSecond)
- {
- int i = infoFirst.origin_y.compare(infoSecond.origin_y);
- if( i == 0 ){
- return (infoFirst.origin_x < infoSecond.origin_x);
- }else{
- return (infoFirst.origin_y.toFloat() < infoSecond.origin_y.toFloat());
- }
- }
- QList<PICINFO> subarraysList_y
- qSort(subarraysList_y.begin(),subarraysList_y.end(),subarraysYSort);
复制代码 |
|