您当前的位置: 首页 >  容器

txwtech

暂无认证

  • 3浏览

    0关注

    813博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

QT 通用算法可以在任何提供STL风格迭代器的容器类上使用

txwtech 发布时间:2022-09-20 21:51:41 ,浏览量:3

"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风格迭代器的容器类上用这些算法,包括QList、QLinkedList、QVector、QMap和QHash。如果在目标平台上可以使用STL,那么可以使用STL的算法来代替Qt的这些算法,因为STL提供了更多的算法,而Qt只提供了其中最重要的一些算法。

在历史上,Qt曾经提供的函数是许多STL算法函数的直接等价物。从Qt 5.0开始,QT鼓励我们直接使用STL中可用的实现;大多数Qt已经被弃用(尽管它们仍然可以用于保持旧的代码编译,但会有警告)。

大多数情况下,使用废弃的Qt算法函数的应用程序可以很容易地移植到使用等效的STL函数。你需要 添加#include 头文件,并将Qt函数替换为STL对应函数,如下表所示。

 

#include 
//src7_11 通用算法
#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QStringList q_stringlist;
    q_stringlist            
关注
打赏
1665060526
查看更多评论
0.0650s