Qt|C++工作笔记-QVector与Vector去重复的值
Qt中没有unique函数,只能用遍历的方法了,代码如下:
#include <QApplication>
#include <QDebug>
#include <QString>
#include <QVector>int main(int argc, char *argv[])
{QApplication a(argc, argv);QVector<QString> strVec;strVec.append("1");strVec.append("2");strVec.append("3");strVec.append("4");strVec.append("5");strVec.append("3");strVec.append("5");for(int i=0;i<strVec.size();i++){for(int j=i+1;j<strVec.size();j++){if(strVec[j]==strVec[i]){strVec.remove(i);i--;}}}return a.exec();
}
未去除前的截图:
去除后的截图:
而在标准C++中有一个unique函数,他能把(相邻)重复的值放到容器的最后【所以这个要先排序】,并且返回一个iterator,这个iterator为开始重复的位置。
源码如下:
#include <iostream>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;void main(){vector<string> strVec;strVec.push_back("1");strVec.push_back("2");strVec.push_back("3");strVec.push_back("4");strVec.push_back("5");strVec.push_back("3");strVec.push_back("5");sort(strVec.begin(),strVec.end());vector<string>::iterator it=unique(strVec.begin(),strVec.end());strVec.erase(it,strVec.end());getchar();
}
去除前的截图:
去除后的截图:
qu'c
Qt|C++工作笔记-QVector与Vector去重复的值相关推荐
- Qt/C++工作笔记-vector与QVector的拷贝复制(区别与联系)
[注意:不要一个个遍历去赋值,有专门的函数可以拷贝复制] 首先是传统的vector. 他的拷贝复制有3种,一是构造函数,二是利用assign函数,三是利用swap函数. 代码如下: #include ...
- Qt/C++工作笔记-对vector与QVector中erase操作的进一步认识(区别与联系)
VS代码如下: #include <iostream> #include <vector> using namespace std;void main(){vector< ...
- Qt工作笔记-QVector下标访问和迭代访问效率实践(大跌狗眼)
IDE为Qt Creator 版本为5.7 编译器为MinGW 这个实验感觉与编译器有关(优化)Debug和Release也有关 下面所有的过程都是以Debug版本进行!!!! 程序界面很low,如下 ...
- Qt工作笔记-QVector与QMap查找效率实战
因为项目使用QVector,太慢了,听说QMap比QVector查找时快,所以写一个小程序试试: 从30000个数据中找5000个 程序运行截图如下: QVector QMap 一样的数据,找一样的数 ...
- Qt|Linux工作笔记-异步调用ping命令,重定向获取信息,界面显示
逻辑: 1.使用QProcess在开线程前设置输出文件[setStandardOutputFile]; 2.开一个线程,去专门调用shell命令,比如ping: 3.Qt读取重定向文件,进行界面显示: ...
- Qt|设计模式工作笔记-对单例模式进一步的理解(静态加单例实现专门收发UDP对象)
目录 理论 源码 理论 这里只说明一点,使用单例模式,私有成员里放一个成员,这个成员是一个静态成员,把构造函数都屏蔽掉(放到protected或者private中即可)使用一个flag,让其只能生成一 ...
- Qt|C++工作笔记-对虚函数的进一步认识(关键是Qt中如何正确使用,达到想要的效果)
关于虚函数的简单例子 首先是一个很简单例子,刚学C++的朋友都能理解 源码如下: #include <cstdio> #include <windows.h>static in ...
- Qt|Linux工作笔记-第二种方式读取Linux中top命令(直接读取,非重定向)
第一种方式的链接如下: https://mp.csdn.net/postedit/84067805 第一种方式是重定向到文件,然后读取, 第二种方式不重定向到文件,直接读取! 利用QProcess的特 ...
- Qt工作笔记-QList (链表) QVector (数组)【转载】
原文地址:https://blog.csdn.net/qq_33266987/article/details/53333373 C++中的list 和 vector (1). stl提供了三个最基本的 ...
最新文章
- 源码安装tensorflow
- 社会科技奖不是新鲜事?如何真正做大
- linux 树莓派查看ip,树莓派 常用Linux命令
- secondarynamenode异常
- ORACLE和MYSQL函数
- 飞鸽传书内部排序算法的性能比较
- Jenkins学习三:介绍一些Jenkins的常用功能
- 微软欲对Silverlight进行部分开源(转载)
- “人人都是数据科学家从新开始用Python学习数据科学的完整教程P1
- 需求分析报告应该包含哪些部分_一份数据分析报告所需要的内容以及注意事项...
- 拿php做个日历,分享如何用PHP制作日历(附代码)
- grads插值_GrADS中格点插值到站点(gr2stn)的详细方法
- verlay虚拟化技术_FPGA虚拟化:突破次元壁的技术
- 【Deepin Debian 系统安装RPD远程桌面工具Remmina】
- 001_KNN与线性分类器
- 110kv变电所无功补偿技术的研究
- sql的一些简单查询
- 最快速的文件传输软件,解析镭速文件传输软件
- 电磁场与仿真软件(30)
- 【二】头歌平台实验-离散数学逻辑与推理
热门文章
- 10 大编程算法帮助程序员踏上“高手”层次,了解一下,你绝对不亏!
- 七点讲透分布式架构的前世今生,面试官都不知道的概念来了
- 从1.5k到18k, 一个程序员的5年成长之路【转载】
- 【飞鸽传书】往往会说其应当具备可维护性
- 桌面Linux市场份额终于突破1%
- 如何将多个文件捆绑成一个可执行文件
- C#中is vs as
- 第 6 节:前端面试指南 — React 篇(附面试题答案)
- 经典面试题(16):以下代码将输出的结果是什么?
- 为什么链接oracle报错,PG连接Oracle报错解决