纠结的QList 排序
来源:互联网 发布:linux route删除路由 编辑:程序博客网 时间:2024/06/09 04:21
今天做stdlib 中的QList 排序 ,在QT环境下 马上想到了qsort 可是呢 qsort用了半天发现不可行
功 能: 使用快速排序例程进行排序
用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));
参数:1 待排序数组首地址 2 数组中待排序元素数量 3 各元素的占用空间大小 4 指向函数的指针,用于确定排序的顺序
其中的那个比较函数,传入的参数是个void*的而且转换完成后还是无法排序 ,最终发现用qsort对泛型排序真不是个好主意接着用标准库中<algorithm>的sort排序 ,这个是一个专门针对泛型数据排序的中可以吧 ,可是写在qt中却无法识别 sort、std::sort 都试过了
Header: <algorithm> Namespace: std
最后找下Qt中的专用排序,发现Qlist 中的排序 用的是qsort ,郁闷,可以,,于是便又在琢磨 ,好久,发现不行,
继续查阅资料 发现一个qSort,Qt中对泛型排序的函数,发现和sort基本上完全相同 ,这时才醒悟过来 qsort -----qSort
void qSort ( RandomAccessIterator begin, RandomAccessIterator end, LessThan lessThan )
void qSort ( RandomAccessIterator begin, RandomAccessIterator end )
- bool CapitySort(const SVideoChip msVideoFirst,const SVideoChip msVideoSecond)
- {
- return (msVideoFirst.mi64VideoCapacity < msVideoSecond.mi64VideoCapacity);
- }
- void * VideoSort(QList<SVideoChip>* msVideoChipList)
- {
- qSort(msVideoChipList->begin(),msVideoChipList->end(),CapitySort);
- // std::sort(msVideoChipList->begin(),msVideoChipList->end(),CapitySort);
- }
- bool CapitySort(const SVideoChip msVideoFirst,const SVideoChip msVideoSecond)
- {
- return (msVideoFirst.mi64VideoCapacity < msVideoSecond.mi64VideoCapacity);
- }
- void * VideoSort(QList<SVideoChip>* msVideoChipList)
- {
- qSort(msVideoChipList->begin(),msVideoChipList->end(),CapitySort);
- // std::sort(msVideoChipList->begin(),msVideoChipList->end(),CapitySort);
- }
0 0
- 纠结的QList 排序
- 纠结的QList 排序
- Qlist排序【依据其中每一项的字符串大小】
- QList的简单使用
- QList的简单使用
- Qlist的用法
- QList的一些用法
- QList的简单使用
- QLIST
- Qlist
- QList
- Qlist
- QList和QStringList的用法
- QList<T> 的释放分两种情况
- 关于QList与QStringList的append函数
- QList和QVector等容器的区别
- QList 和std::list的比较
- qt-project中关于Qlist的说明
- EJB3.0学习之Jboss安装和配置
- glsurfaceview 和 open gl
- "The harder I work, the luckier I get." - Samuel Goldwyn
- Tolua++ 实现分析
- 字符串专题
- 纠结的QList 排序
- poj 1064 Cable master(二分水)
- POJ 2987 Firing(最大权闭合)
- 用smarthosts访问服务器官网
- VirtualBox安装Linux,再按装增强功能的时候报错处理
- 例2. 修改一条记录并显示
- S5PV210中断体系
- linux系统V4L2架构OV3640摄像头视频捕获保存图片jpg格式
- 二级指针的3种内存模型