"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();
- }
-
相关阅读:
大数据----数据仓库设计基础(实列演示)
使用canvas绘制时钟
一文吃透接口调用神器RestTemplate
低/无代码开发系统集成能力有多强?一文告诉你
安全渗透测试之网络基础知识(IP地址)
【BOOST C++ 17 出错处理】(2)Boost.System
C#实现本地服务器客户端私聊通信
微信小程序开启横屏调试
随机二次元图片api接口地址
AWS无服务器 应用程序开发—第九章 文件存储(Amazon S3)
-
原文地址:https://blog.csdn.net/txwtech/article/details/126962468
-
最新文章
-
沪漂五周年了:我越来越迷茫了
Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
MySQL-Seconds_behind_master的精度误差
[MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
Agent OS :五种驯服不确定性的范式
PortSwigger SQL注入LAB11
数据库即时编译JIT
[Begin]AI Learn Data Day 0
深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU