[C++]vector去除重复元素
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
/**
* vector去除重复元素
* @tparam T
* @param result
* @return
*/
template<typename T>
vector<T> vector_distinct(vector<T> result) {
sort(result.begin(), result.end());
auto ite = unique(result.begin(), result.end());
//删除重复的元素
result.erase(ite, result.end());
return result;
}
/**
* 利用set为vector数组去重
* @tparam T
* @param vec
* @return
*/
template<typename T>
vector<T> vectorToset_distinct(vector<T> vec) {
set<T> st(vec.begin(), vec.end());
vec.assign(st.begin(), st.end());
return vec;
}
int main() {
vector<string> v_str1 = {"a", "b", "c", "d", "e", "b"};
vector<string> v_res = vector_distinct(v_str1);
vector<string> vs_res = vectorToset_distinct(v_str1);
cout << "v_str1=";
for (auto v:v_str1) {
cout << v << ",";
}
cout << endl;
cout << "v_res=";
for (auto v:v_res) {
cout << v << ",";
}
cout << endl;
cout << "vs_res=";
for (auto v:vs_res) {
cout << v << ",";
}
cout << endl;
}

[C++]vector去除重复元素的更多相关文章
- vector 去除重复元素(sort + unique)
struct SIndexData { string sCode; int iDate; int iTime; double f1; SIndexData(): iDate(0), iTime(0) ...
- 【C++】去除vector里重复元素的方法比较
背景:构造一个无重复的白名单,之后要在里面进行二分查找.故要求名单有序,且无重复,并且要进行二分查找,所以要采用有:随机访问迭代器类型的容器.这类容器有vector,array,deque.显然要ve ...
- Python列表去除重复元素
主要尝试了3种列表去除重复元素 #2.去除列表中的重复元素 #set方法 def removeDuplicates_set(nums): l2 = list(set(l1)) #用l1的顺序排序l2 ...
- java集合 collection-list-ArrayList 将自定义对象作为元素存到ArrayList集合中,并去除重复元素。
import java.util.*; /* 将自定义对象作为元素存到ArrayList集合中,并去除重复元素. 比如:存人对象.同姓名同年龄,视为同一个人.为重复元素. 思路: 1,对人描述,将数据 ...
- LintCode 521.去除重复元素
LintCode 521.去除重复元素 描述 给一个整数数组,去除重复的元素. 你应该做这些事 1.在原数组上操作 2.将去除重复之后的元素放在数组的开头 3.返回去除重复元素之后的元素个数 挑战 1 ...
- php将多个值的数组去除重复元素
array_unique(array) 只能处理value只有单个的数组. 去除有多个value数组,可以使用如下函数实现: function more_array_unique($arr=array ...
- ArrayList去除重复元素(多种方法实现)
package other; import java.util.ArrayList; import java.util.HashSet; public class test4 { public sta ...
- C语言两个升序递增链表逆序合并为一个降序递减链表,并去除重复元素
#include"stdafx.h" #include<stdlib.h> #define LEN sizeof(struct student) struct stud ...
- ArrayList去除重复元素
去除一个ArrayList的重复元素有两种方法:(ArrayList与Vector的存储结构是Object[],LinkedList是双向列表) 第一种是不需要借助临时list,用equals方法比较 ...
随机推荐
- C语言time函数获取当前时间
以前放了个链接,但是原作者把博文删了,这里放一个获取时间的代码,已经比较详细所以不做注释 #include<stdio.h> #include<time.h> #include ...
- Linux学习 - ifconfig
ifconfig 1.功能 用来查看和配置网络设备,当网络环境发生改变时可通过此命令对网络进行相应的配置. 2.用法 ifconfig [网络设备] [参数] (1).参数 up 启动指定网络设备 ...
- 监控Linux服务器网站状态的SHELL脚本
1,监控httpd状态码的shell脚本代码. #!/bin/sh #site: www.jquerycn.cn # website[0]=www.jquerycn.cn/chuzu/' #网站1 m ...
- APiCloud - api对象
详见网址:https://www.cnblogs.com/jiqing9006/p/5919317.html
- shiro免认证的路径配置
– ?:匹配一个字符,如/admin? 将匹配/admin1,但不匹配/admin 或/admin/:– *:匹配零个或多个字符串,如/admin 将匹配/admin./admin123,但不匹配/a ...
- 攻击科普:ARP攻击
目录 一.介绍 二.解决办法 一.介绍 ARP攻击的局限性 ARP攻击仅能在以太网(局域网如:机房.内网.公司网络等)进行. 无法对外网(互联网.非本区域内的局域网)进行攻击. ARP攻击就是通过伪造 ...
- Tableau如何绘制凹凸图
一.把订单日期拖拽至列,把销售额拖拽至行,类别拖拽至标记,并把订单日期拖拽至筛选器选择2017年 二.创建计算字段销售排名 三.将刚刚创建的销售排名拖拽至行,计算依据-类别 四.销量排名拖拽成两个,图 ...
- [BUUCTF]REVERSE——[FlareOn4]login
[FlareOn4]login 附件 步骤: 是个网页,直接打开,查看网页源码 百度了几个函数 charCodeAt(0)是返回当前字符的Unicode 编码 String.fromCharCode返 ...
- cmcc_simplerop
这是一道系统调用+rop的题. 先来就检查一下保护. 32位程序,只开启了堆栈不可执行.ida看一下伪代码. 代码也很简洁,就是直接让你溢出.这里ida反汇编显示的v4具体ebp的距离是0x14,再加 ...
- Table.Group分组…Group(Power Query 之 M 语言)
数据源: 10列55行数据,其中包括含有重复项的"部门"列和可求和的"金额"列. 目标: 按"部门"列进行分组,显示各部门金额小计. 操作过 ...