QT学习笔记(十):通用算法示例

QT学习笔记(十):通用算法示例

std是C++标准库统一使用的命名空间(namespace)的名称,C++标准库中的名字全部都在std这个命名空间中,std也就是英文"standard"(标准)的缩写。
在这里插入图片描述

#include <QCoreApplication>
#include <QVector>
#include <QStringList>
#include <QDebug>#include <functional> //因为用了std::greater<int>()
#include <algorithm>  // STL 标准模板算法库	int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);QStringList list;list << "one" << "two" << "three";// 1、将list中所有项目复制到vect中qDebug() << QObject::tr("std::copy算法:");QVector<QString> vect(3);std::copy(list.begin(), list.end(), vect.begin());qDebug() << vect;//结果为one,two,three///2、从list的开始到结束的所有项目与vect的开始及其后面的等数量的项目进行比较,// 全部相同则返回trueqDebug() << endl << QObject::tr("std::equal算法:");bool ret1 = std::equal(list.begin(), list.end(), vect.begin());qDebug() << "euqal: " << ret1; //结果为true// 3、从list中查找"two",返回第一个对应的值的迭代器,如果没有找到则返回end()qDebug() << endl << QObject::tr("std::find算法:");QList<QString>::iterator i = std::find(list.begin(), list.end(), "two");qDebug() << *i;     // 结果为"two"///4、将list中的所有项目填充为"eleven"qDebug() << endl << QObject::tr("std::fill算法:");std::fill(list.begin(), list.end(), "eleven");qDebug() << list;  // 结果eleven,eleven,elevenQList<int> list1;list1 << 3 << 3 << 6 << 6 << 6 << 8;// 5、查找6的个数qDebug() << endl << QObject::tr("std::count算法:");int countOf6 = std::count(list1.begin(), list1.end(), 6);qDebug() << "countOf6: " << countOf6; // 结果为3// 6、返回第一个出现5的位置,如果没有5,则返回5应该在的位置,// list1被查找的范围中的项目必须是升序qDebug() << endl << QObject::tr("std::lower_bound算法:");QList<int>::iterator j = std::lower_bound(list1.begin(), list1.end(), 5);list1.insert(j, 5);qDebug() << list1; // 结果3,3,5,6,6,6,8QList<int> list2;list2 << 33 << 12 << 68 << 6 << 12;//7、使用快速排序算法对list2进行升序排序,排序后两个12的位置不确定qDebug() << endl << QObject::tr("std::sort算法:");std::sort(list2.begin(), list2.end());qDebug() << list2; // 结果6,12,12,33,68// 8、使用一种稳定排序算法对list2进行升序排序,// 排序前在前面的12,排序后依然在前面qDebug() << endl << QObject::tr("std::stable_sort算法:");std::stable_sort(list2.begin(), list2.end());qDebug() << list2; // 结果6,12,12,33,68///9、可以在qSort()算法中使其反向排序(替代std::sort)qDebug() << endl << QObject::tr("std::greater算法:");qSort(list2.begin(), list2.end(), std::greater<int>());qDebug() << list2; // 结果68,33,12,12,6// 10、交换pi和e的值qDebug() << endl << QObject::tr("std::swap算法:");double pi = 3.14;double e = 2.71;std::swap(pi, e);                         qDebug() << "pi:" << pi << "e:" << e; // 结果pi=2.71,e=3.14return a.exec();
}

运行结果:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/491259.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Input type (torch.cuda.DoubleTensor) and weight type (torch.cuda.FloatTensor) should be the same

原因是没有把输入数据类型转为float类型 首先找到代码出错的位置&#xff0c;将该处的数据类型转为float类型&#xff1a; x x.type(torch.FloatTensor)

了解因果论:从珀尔的《为什么》开始

图I&#xff1a;AI从达特茅斯会议&#xff08;1956年&#xff09;得名至今已有六十年&#xff0c;期间几起几落&#xff0c;群星璀璨&#xff0c;像一个大舞台&#xff0c;你方唱罢我登场&#xff0c;留下了一些永载史册的理论和成就&#xff0c;但涉及因果的甚少作者&#xff…

外观模式(三层解耦)

说到外观模式&#xff0c;很容易想到的是设计一件漂亮的衣服然后穿上自己的身上&#xff0c;让自己看起来更加的漂亮&#xff0c;但是这个可能并不是这样子的&#xff0c;从更深层次的来说&#xff0c;外观更应该是所见即所得的&#xff0c;对于观众来说&#xff0c;看起来可能…

QT学习笔记(十一):QString类

QT学习笔记&#xff08;十一&#xff09;&#xff1a;QString类1、概述2、编辑操作3、查询操作3、转换操作1、概述 1.1 QString 类是 Qt 中用于表示字符串的类&#xff0c;实现在 QtCore 共享库中。QString 类在实现上有以下特征: 1&#xff09;字符串采用 Unicode 内部编码&…

pytorch数据加载时报错OSError: [Errno 22] Invalid argument

将数据加载器的num_workers删去&#xff0c;即由 train_loader torch.utils.data.DataLoader(trainset, batch_sizebatch_size, shuffleTrue, pin_memoryTrue, num_workers3) 改为 train_loader torch.utils.data.DataLoader(trainset, batch_sizebatch_size, shuffleTrue…

人工智能六十年技术简史

作者 | 李理出品 | AI科技大本营&#xff08;rgznai100&#xff09;人类的进化发展史就是一部人类制造和使用工具的历史&#xff0c;不同的工具代表了人类的进化水平。从石器时代、铁器时代、蒸汽时代、电气时代再到现在的信息时代&#xff0c;我们使用更加先进便捷的工具来改变…

windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

本系列分为两篇&#xff1a; 1、【转】windows和linux中搭建python集成开发环境IDE 2、【转】linux和windows下安装python集成开发环境及其python包 3、windows和linux中搭建python集成开发环境IDE——如何设置多个python环境 Install Python packages on Ubuntu 14.04 from ch…

QT学习笔记(十二):透明窗体设置

QT学习笔记&#xff08;十二&#xff09;&#xff1a;透明窗体设置 创建 My_Widget 类 基类为QWidget &#xff0c; My_Widget.cpp 源文件中添加代码 #include "widget.h" #include "ui_widget.h"#include <QGraphicsDropShadowEffect>// 构造函数…

【新书】崛起的超级智能:互联网大脑如何影响科技未来

来源&#xff1a;刘锋的未来课堂2019年7月&#xff0c;《崛起的超级智能&#xff1a;互联网大脑如何影响科技未来》由中信出版社正式出版。作者刘锋。吕乃基、石勇、吕本富做序。张亚勤、刘慈欣、周鸿祎、王飞跃、约翰.翰兹等专家为这本书撰写了推荐语。《崛起的超级智能》主要…

Elsevier的LaTeX模板报错:Environment graphicalabstract undefined

原因在于CTEX&#xff0c;下载安装一个TEX Live2019代替CTEX

iOS开发 autoResizingMask使用

autoResizingMask 是UIView的一个属性&#xff0c;在一些简单的布局中&#xff0c;使用autoResizingMask&#xff0c;可以实现子控件相对于父控件的自动布局。 autoResizingMask 是UIViewAutoresizing 类型的&#xff0c;其定义为&#xff1a; property(nonatomic) UIViewAutor…

OpenCV学习笔记(一):Win10(x64)+Qt5.8(MSVC2013)+OpenCV3.1.0配置过程

OpenCV学习笔记&#xff08;一&#xff09;&#xff1a;Win10(x64)Qt5.8(MSVC2013)OpenCV3.1.0配置过程 Win10(x64)Qt5.8(MSVC2013)OpenCV3.1.0配置过程 配置需求 原版 Win10(x64) Qt5.8(MSVC2013) OpenCV3.1.0 第一步&#xff1a;安装QT 5.8 和OpenCV3.1.0 并配置环境变量…

Windows10安装TeXlive和TeXstudio

参考https://blog.csdn.net/aiwei169/article/details/81431363 进入官网http://tug.org/texlive/ 第一步 第二步 第三步 第四步 等待 安装包下载 解压下载的文件&#xff0c;将解压后的安装包放在英文路径下&#xff08;即不要包含中文的路径&#xff09; 修改安装路径&am…

QT环境配置:QT5.8.0与VS2013环境配置

QT环境配置&#xff1a;QT5.8.0与VS2013环境配置 1、下载VS2013&#xff0c;QT5.8.0&#xff0c;qt-vs-tools-msvc2013-2.1.1。 1&#xff09;VS2013版本为&#xff1a;Visual Studio Ultimate 2013 2&#xff09;QT5.8.0版本为&#xff1a;qt-opensource-windows-x86-msvc20…

云计算与边缘计算协同的九大应用场景剖析

来源 | 中国信息通信院CAICT未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能&#xff0c;互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括&#xff1a;建立AI智能系统智商评测体系&#xff0c;开展世界人工智能智商评测&#xff1b;开展互联网&…

QT学习笔记(十三):绘制图像

QT学习笔记&#xff08;十三&#xff09;&#xff1a;绘制图像 paintEvent() 事件源码添加&#xff1a; #include <QPainter> #include <QImage> #include <QPixmap> #include <QBitmap> #include <QPicture>void Widget::paintEvent(QPaintEve…

【Robot学院】一文读懂世界智能制造大趋势!

本文来源&#xff1a;智造智库工业4.0在德国被认为是第四次工业革命&#xff0c;主要是指&#xff0c;在“智能工厂”利用“智能设备”将“智能物料”生产成为“智能产品”&#xff0c;整个过程贯穿以“网络协同”&#xff0c;从而提升生产效率&#xff0c;缩短生产周期&#x…

BZOJ-4300 绝世好(蛋疼)题 DP(递推)

翻zky学长的blog时翻出来的.....4300: 绝世好题 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 736 Solved: 393 [Submit][Status][Discuss] Description 给定一个长度为n的数列ai&#xff0c;求ai的子序列bi的最长长度&#xff0c;满足bi&bi-1!0(2<i<len)。 …

LaTeX的表格标题位置

现有一个表格&#xff0c;若要把表格标题放在表格下面&#xff0c;则把\caption{***}这一行代码放在下面&#xff0c;如下所示&#xff1a; \begin{table}[H]\renewcommand{\arraystretch}{1.3}\centering\begin{tabular}{c|cc|cc}\hline\hline\end{tabular}\caption{***}\lab…