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去重复的值相关推荐

  1. Qt/C++工作笔记-vector与QVector的拷贝复制(区别与联系)

    [注意:不要一个个遍历去赋值,有专门的函数可以拷贝复制] 首先是传统的vector. 他的拷贝复制有3种,一是构造函数,二是利用assign函数,三是利用swap函数. 代码如下: #include ...

  2. Qt/C++工作笔记-对vector与QVector中erase操作的进一步认识(区别与联系)

    VS代码如下: #include <iostream> #include <vector> using namespace std;void main(){vector< ...

  3. Qt工作笔记-QVector下标访问和迭代访问效率实践(大跌狗眼)

    IDE为Qt Creator 版本为5.7 编译器为MinGW 这个实验感觉与编译器有关(优化)Debug和Release也有关 下面所有的过程都是以Debug版本进行!!!! 程序界面很low,如下 ...

  4. Qt工作笔记-QVector与QMap查找效率实战

    因为项目使用QVector,太慢了,听说QMap比QVector查找时快,所以写一个小程序试试: 从30000个数据中找5000个 程序运行截图如下: QVector QMap 一样的数据,找一样的数 ...

  5. Qt|Linux工作笔记-异步调用ping命令,重定向获取信息,界面显示

    逻辑: 1.使用QProcess在开线程前设置输出文件[setStandardOutputFile]; 2.开一个线程,去专门调用shell命令,比如ping: 3.Qt读取重定向文件,进行界面显示: ...

  6. Qt|设计模式工作笔记-对单例模式进一步的理解(静态加单例实现专门收发UDP对象)

    目录 理论 源码 理论 这里只说明一点,使用单例模式,私有成员里放一个成员,这个成员是一个静态成员,把构造函数都屏蔽掉(放到protected或者private中即可)使用一个flag,让其只能生成一 ...

  7. Qt|C++工作笔记-对虚函数的进一步认识(关键是Qt中如何正确使用,达到想要的效果)

    关于虚函数的简单例子 首先是一个很简单例子,刚学C++的朋友都能理解 源码如下: #include <cstdio> #include <windows.h>static in ...

  8. Qt|Linux工作笔记-第二种方式读取Linux中top命令(直接读取,非重定向)

    第一种方式的链接如下: https://mp.csdn.net/postedit/84067805 第一种方式是重定向到文件,然后读取, 第二种方式不重定向到文件,直接读取! 利用QProcess的特 ...

  9. Qt工作笔记-QList (链表) QVector (数组)【转载】

    原文地址:https://blog.csdn.net/qq_33266987/article/details/53333373 C++中的list 和 vector (1). stl提供了三个最基本的 ...

最新文章

  1. 源码安装tensorflow
  2. 社会科技奖不是新鲜事?如何真正做大
  3. linux 树莓派查看ip,树莓派 常用Linux命令
  4. secondarynamenode异常
  5. ORACLE和MYSQL函数
  6. 飞鸽传书内部排序算法的性能比较
  7. Jenkins学习三:介绍一些Jenkins的常用功能
  8. 微软欲对Silverlight进行部分开源(转载)
  9. “人人都是数据科学家从新开始用Python学习数据科学的完整教程P1
  10. 需求分析报告应该包含哪些部分_一份数据分析报告所需要的内容以及注意事项...
  11. 拿php做个日历,分享如何用PHP制作日历(附代码)
  12. grads插值_GrADS中格点插值到站点(gr2stn)的详细方法
  13. verlay虚拟化技术_FPGA虚拟化:突破次元壁的技术
  14. 【Deepin Debian 系统安装RPD远程桌面工具Remmina】
  15. 001_KNN与线性分类器
  16. 110kv变电所无功补偿技术的研究
  17. sql的一些简单查询
  18. 最快速的文件传输软件,解析镭速文件传输软件
  19. 电磁场与仿真软件(30)
  20. 【二】头歌平台实验-离散数学逻辑与推理

热门文章

  1. 10 大编程算法帮助程序员踏上“高手”层次,了解一下,你绝对不亏!
  2. 七点讲透分布式架构的前世今生,面试官都不知道的概念来了
  3. 从1.5k到18k, 一个程序员的5年成长之路【转载】
  4. 【飞鸽传书】往往会说其应当具备可维护性
  5. 桌面Linux市场份额终于突破1%
  6. 如何将多个文件捆绑成一个可执行文件
  7. C#中is vs as
  8. 第 6 节:前端面试指南 — React 篇(附面试题答案)
  9. 经典面试题(16):以下代码将输出的结果是什么?
  10. 为什么链接oracle报错,PG连接Oracle报错解决