"std:copy算法:"
QVector("one", "two", "three")
"std::equal算法:"
equal: true
"std::find算法:"
"two"
"std::fill算法:"
("eleven", "eleven", "eleven")
"std::count算法:"
count of 6: 3
"std::lower_bound算法:返回第一个出现5的位置,如果没有5,则返回5应该在的位置"
(3, 3, 5, 6, 6, 6, 8)
"std::sort排序算法:使用快速排序算法对list2a进行升序排序,排序后两个12的位置不确定"
(6, 12, 12, 33, 68)
"std::stable_sort算法:使用稳定排序算法对list2a进行排序"
(6, 12, 12, 33, 68)
"std::greater算法:可以在qSort()算法中使其反向排序"
(68, 33, 12, 12, 6)
"swap交换算法:"
pi: 2.71 e: 3.14
在
在历史上,Qt曾经提供的函数是许多STL算法函数的直接等价物。从Qt 5.0开始,QT鼓励我们直接使用STL中可用的实现;大多数Qt已经被弃用(尽管它们仍然可以用于保持旧的代码编译,但会有警告)。
大多数情况下,使用废弃的Qt算法函数的应用程序可以很容易地移植到使用等效的STL函数。你需要
添加#include
- #include
- //src7_11 通用算法
- #include
- #include
- #include
- #include
-
- int main(int argc, char *argv[])
- {
- QCoreApplication a(argc, argv);
-
- QStringList q_stringlist;
- q_stringlist<<"one"<<"two"<<"three";
- qDebug()<
tr("std:copy算法:"); - QVector
q_vect(3) ; - //将q_stringlist的所有复制到q_vect中
- std::copy(q_stringlist.begin(),q_stringlist.end(),q_vect.begin());
- qDebug()<
- qDebug()<
tr("std::equal算法:"); - //从q_stringlist的开始到结束的所有项目与q_vect的开始及其后面的等数量的项目进行比较
- //全部相同则返回true
- bool ret1=std::equal(q_stringlist.begin(),q_stringlist.end(),q_vect.begin());
- qDebug()<<"equal:"<
- qDebug()<
tr("std::find算法:"); - //从q_stringlist中查找"two",返回第一个对应的值得迭代器,如果没有找到则返回end();
- QList
::iterator q_iter=std::find(q_stringlist.begin(),q_stringlist.end(),"two"); - //查找到后显示结果
- qDebug()<<*q_iter;
- qDebug()<
tr("std::fill算法:"); - std::fill(q_stringlist.begin(),q_stringlist.end(),"eleven");
- qDebug()<
-
- QList<int> list2;
- list2<<3<<3<<6<<6<<6<<8;
- qDebug()<
tr("std::count算法:"); - int count_of_6=std::count(list2.begin(),list2.end(),6);//查找6的个数
- qDebug()<<"count of 6:"<
- qDebug()<
tr("std::lower_bound算法:返回第一个出现5的位置,如果没有5,则返回5应该在的位置"); - //返回第一个出现5的位置,如果没有5,则返回5应该在的位置
- //list2被查找的范围中的项目必须是升序
- QList<int>::iterator q_iter2=std::lower_bound(list2.begin(),list2.end(),5);
- list2.insert(q_iter2,5);
- qDebug()<
-
- QList<int> list2a;
- list2a<<33<<12<<68<<6<<12;
- qDebug()<
tr("std::sort排序算法:使用快速排序算法对list2a进行升序排序,排序后两个12的位置不确定"); - std::sort(list2a.begin(),list2a.end());
- qDebug()<
- qDebug()<
tr("std::stable_sort算法:使用稳定排序算法对list2a进行排序"); - //排序前在前面的12,排序后依然在前面
- std::stable_sort(list2a.begin(),list2a.end());
- qDebug()<
- qDebug()<
tr("std::greater算法:可以在qSort()算法中使其反向排序");//by txwtech - qSort(list2a.begin(),list2a.end(),std::greater<int>());
- qDebug()<
- qDebug()<
tr("swap交换算法:"); - double pi=3.14;
- double e=2.71;
- std::swap(pi,e);
- qDebug()<<"pi:"<
"e:"< -
- return a.exec();
- }
-
相关阅读:
threejs灯光阴影
SSM项目整合 文件上传
Linux操作系统命令
论文阅读笔记(六)——基于改进深度学习方法的股骨x线骨折自动检测与定位
理论+实操,带你了解多沙箱容器运行时Kuasar
Lesson 04 模板入门
基于阿里云GPU云服务器的AIACC助力UC搜索业务性能提效380%,每年节省数千万成本
c语言---数组(超级详细)
基于jsp+ssm的网上图书商城-计算机毕业设计
Lock 锁底层实现
-
原文地址:https://blog.csdn.net/txwtech/article/details/126962468