QT QVectorQPairQString, qint64 qSort 排序
QT的算法与容器之类的与存C++有一些区别。
头文件:
#include <qalgorithms.h>
//这个用于qt排序算法qSort的。
#include <QVector>
//这个是用于QT QVector容器的
纯C++用的是
#include <algorithms.h>
#include <vector>
所以QT里面的叫法也不一样,C++叫STL, 而QT叫QTL
现在直接讲QT一个排序实例吧:
头文件(.h)的两个私有成员:
static bool myCmpare(QPair<QString, qint64> p1, QPair<QString, qint64> p2);
// 这里很值得注意,static必须要用, 静态成员,没有this指针。
QVector<QPair<QString, qint64>> m_fromVector;
实现文件(.cpp)的对应实现:
bool Test::myCmpare(QPair<QString, qint64> p1, QPair<QString, qint64> p2)
{
return p1.second < p2.second;
}
bool Test::test()
{
........
foreach(QFileInfo fileInfo, customCacheDir.entryInfoList()) {
// m_recordService->mergeRecordToDub(fileInfo.filePath(),dubPath);
const qint64 from = fileInfo.fileName().split(QLatin1String("_")).at(0).toInt();
m_fromVector.push_back(qMakePair(fileInfo.filePath(), from));
}
qSort(m_fromVector.begin(), m_fromVector.end(), myCmpare);
for(QVector<QPair<QString, qint64>>::const_iterator iterat = m_fromVector.begin(); iterat != m_fromVector.end(); ++iterat ) {
m_recordService->mergeRecordToDub(iterat->first, dubPath);
}
........
//部分非使用代码省略
}
// 主要看这个qSort(m_fromVector.begin(), m_fromVector.end(), myCmpare);
这里是对qSort算法的直接用法。
QT QVectorQPairQString, qint64 qSort 排序相关推荐
- 在c++中qsort()排序函数的使用qsort函数应用大全
七种qsort排序方法 <本文中排序都是采用的从小到大排序> 一.对int类型数组排序 int num[100]; Sample: int cmp ( const void *a , co ...
- Bailian3719 学生信息用qsort排序【排序+字符串库函数】
3719:学生信息用qsort排序 总时间限制: 1000ms 内存限制: 65536kB 描述 将输入的学生信息按名字排序后输出. 输入 每个学生信息是两行,第一行是名字,由英文字母和空格构成,最长 ...
- qsort排序字符串
qsort排序指针数组(升序) #include<stdio.h> #include<stdlib.h> #include<string.h>int cmp(con ...
- C语言qsort排序
1 qsort原理介绍 函数原型: void qsort(void *base, size_t nitems, size_t size, int (*compar)(const void *, con ...
- 【排序】什么都能排的C语言qsort排序详解【超详细的宝藏级别教程】深度理解qsort排序
[排序]什么都能排的C语言qsort排序详解[超详细的宝藏级别教程]深度理解qsort排序 作者: @小小Programmer 这是我的主页:@小小Programmer 在食用这篇博客之前,博主在这里 ...
- Qt可拖拽排序表格(解决滚动条不兼容问题,类似QQ好友分组排序)
原版链接 https://blog.csdn.net/dpsying/article/details/77206127 Qt可拖拽排序表格(类似QQ好友分组排序) 感谢博主无私分享 修改后,解决了滚动 ...
- C语言标准库函数qsort排序的介绍与使用
qsort函数包含在<stdlib.h>的头文件里. qsort函数声明如下: void qsort(void *base, size_t nmemb, size_t size, int( ...
- Qt工作笔记-QSort的基本使用
如下面这个代码: #include <QCoreApplication> #include <QVector> #include <ctime> #include ...
- c语言链表qsort排序,排序链表最快的算法是什么?
森栏 根据许多因素,将列表复制到数组然后使用Quicksort实际上可能更快.之所以会更快,是因为数组的缓存性能要比链表好得多.如果列表中的节点分散在内存中,则可能是整个地方都生成高速缓存未命中.再说 ...
最新文章
- MySQL修改和查看表类型
- Anaconda:虚拟环境
- 写一个通用数据访问组件
- Vim对中文编码的支持[转]
- ASP.NET中防止页面多次加载的IsPostBack属性
- centos6.5下如何把python2.6.6升级到2.7
- 动态生成表格呈现还是将表格直接绑定gridview等控件呈现的开发方式选择依据...
- mysql 非等值条件 索引_慢SQL简述与定位
- 同时面了腾讯三个部门,拿下offer!
- python3.7下载包的命令_LINUX下安装Python3.7、Pycharm[Linux命令记录]
- mysql 创建索引 终止_技术分享 | 常见索引问题处理
- MySQL 数据库优化设计
- 第七章部分例题最大乘积
- 花小钱办大事 888元血汗钱如何装电脑
- 「CG原画插画教程」超适合小白的,零基础原画学习攻略
- 关于app 元素定位
- c语言编程八卦方位,易经手掌八卦图,如何C语言编程画一个彩色的周易八卦图...
- Swing-右键菜单
- 做市商策略(Market Making Strategy)
- 游戏开发物理引擎PhysX研究系列:通过Unity中的物理系统学习Physx指引贴