c++的unique函数

article/2025/9/29 1:17:53

unique是 c++标准模板库STL中十分实用的函数之一,使用此函数需要

#include <algorithm>

该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素,注意
(1) 这里的去除并非真正意义的erase,而是将重复的元素放到容器的末尾,返回值是去重之后的尾地址。
(2) unique针对的是相邻元素,所以对于顺序顺序错乱的数组成员,或者容器成员,需要先进行排序,可以调用std::sort()函数

使用示例如下:

#include <iostream>
#include <algorithm>int main(void)
{int a[8] = {2, 2, 2, 4, 4, 6, 7, 8};int c;//std::sort(a, a + 8);  //对于无序的数组需要先排序c = (std::unique(a, a + 8) - a );std::cout<< "c = " << c << std::endl;//打印去重后的数组成员for (int i = 0; i < c; i++)std::cout<< "a = [" << i << "] = " << a[i] << std::endl;return 0;
}

运行结果:
这里写图片描述
返回值c等于5,而a数组的前5项为2、4、6、7、8。

对于容器的操作类似:

std::vector<int> ModuleArr;//......
//排序
std::sort(ModuleArr.begin(), ModuleArr.end());
//去重
ModuleArr.erase(unique(ModuleArr.begin(), ModuleArr.end()), ModuleArr.end());

以上内容参考于地址为http://blog.csdn.net/u014598631/article/details/34884809的博客文章。


http://chatgpt.dhexx.cn/article/I4Z04Bkw.shtml

相关文章

SQL查询JSON格式的字段值 JSON_UNQUOTE与JSON_EXTRACT 去除SQL中双引号

一、最常用的就是 JSON_EXTRACT()函数&#xff0c;用于提取字段值 selectJSON_EXTRACT(a.info,"$.Score")fromjsontest awhereJSON_EXTRACT(a.info,"$.name") "Bob" 二、JSON_UNQUOTE 去除 SQL 中 " " ? MySQL自5.7之后开始支持js…

unique函数的用法

unique函数是用于将矩阵数据中的相同元素删除&#xff0c;只留下不相同的唯一元素。 1.例如: 得到的B矩阵为&#xff1a; 这个相对简单&#xff0c;但是有时需要将矩阵中的元素相同行的删除&#xff0c;也可以用到unique 2.当需要删除矩阵中的出现多次的行数组时 例如&#x…

c++ unique函数详解

unique是 c标准模板库STL中十分实用的函数之一&#xff0c;使用此函数需要#include <algorithm>头文件 该函数的作用是“去除”容器或者数组中相邻元素的重复出现的元素 (1) 这里的去除并非真正意义的erase&#xff0c;而是将重复的元素放到容器的末尾&#xff0c;返回值…

unique函数用法

unique函数用法 unique包含在头文件 #include <algorithm>函数作用&#xff1a;“去除”容器或数组中相邻元素之间重复出现的元素 unique函数的三个参数&#xff1a; 1、想要去重的数据集的起始地址 2、想要去重的最后一个元素的下一个元素的地址 3、比较函数(可以省…

MySQL JSON_EXTRACT()、JSON_UNQUOTE() 函数获取JSON串的值

JSON_EXTRACT()函数作用是读取数据库储存的json值&#xff0c;已key、value的形式获取某个键值 如果json字符串是对象{Object} 1&#xff1a;第一个参数为需要查询的json字段 2&#xff1a;第二个参数为json里需要获取的键名 $.key 如果json字符串是数组[Array] 1&#xff1a;…

c++ unique函数

unique函数属于STL中比较常用函数&#xff0c;它的功能是元素去重。即”删除”序列中所有相邻的重复元素(只保留一个)。此处的删除&#xff0c;并不是真的删除&#xff0c;而是指重复元素的位置被不重复的元素给占领了(详细情况&#xff0c;下面会讲)。由于它”删除”的是相邻的…

ubuntu启动后一直黑屏

好奇怪的一件事&#xff0c;昨晚使用完ubuntu后&#xff0c;和往常一样拍了快照&#xff0c;但今天打开后就一直黑屏&#xff0c;就突然的有了自己的思想&#xff0c;任我重启电脑都没有任何用处 我采用的方法 徽标cmd回车&#xff0c;输入如下命令,然后重启电脑 netsh winsoc…

ubuntu虚拟机开机黑屏系列解决办法

ubuntu虚拟机开机黑屏系列解决办法 前记解决方法方法一&#xff1a;方法二&#xff1a;方法三&#xff1a;方法四&#xff1a;方法五&#xff1a;方法六&#xff1a; 后记 前记 ubuntu虚拟机玩的好好的&#xff0c;突然不知怎么着图形界面就卡住了&#xff0c;等待了好一会也不…

记录ubuntu启动黑屏,仅有左上角光标闪烁的解决过程

去年装完显卡驱动后有重启黑屏的经历&#xff0c;所以后来一直没敢装显卡驱动&#xff0c;前段时间需要用显卡驱动跑程序&#xff0c;又装了一次&#xff0c;果不其然黑屏了。 nvidia-smi 是可以显示出显卡信息的&#xff0c;这说明显卡驱动是装上了。 1.首先是试了18 20 22的…

ubuntu虚拟机启动失败黑屏解决方案及原因

背景介绍 某天某个时辰,手残的我想打开VMWare里面的ubuntu虚拟机跑跑Kubernetes突然发现ubuntu虚拟机黑屏无法启动,只有一个光标在闪烁,图形界面就再也打不开了 原因 进入高级模式后发现磁盘占用满了,清除一些文件后ubuntu虚拟机正常启动 解决方案 进入grub模式 一旦启动后…

Ubuntu18的bug导致系统启动后黑屏的问题

这是我在使用Ubuntu18时遇到的问题&#xff0c;文章包含遇到黑屏时的各种原因及解决方法&#xff08;或链接&#xff09;&#xff0c;如果是您在使用Ubuntu18时遇到此问题&#xff0c;建议直接跳转到解决方法处。 问题背景 使用系统 Ubuntu 18.04.1 LTS&#xff08;可以通过…

Ubuntu16.04开机后黑屏无法进入系统登陆界面

之前在写小论文&#xff0c;接近一个月没有用Ubuntu&#xff0c;结果想要切换到Linux下使用Hadoop的时候&#xff0c;在grub界面选择第一项Ubuntu却迟迟无法进入登陆界面&#xff0c;一直卡在原地&#xff0c;特征为长久黑屏/紫屏无响应&#xff0c;无法按ctrlaltF1进入命令行以…

ubuntu启动失败黑屏解决方案

现象 启动直接进入黑屏,左上角有光标但不闪烁,ctrl+alt+fx也无法进入命令行界面 异常前操作 在有程序安装过程中直接reboot,接着就一直如此 最终解决 尝试了很多网上的方法,包括进入grub后按e改磁盘ro为rw啊,进入recovery模式该grub配置啊等等都无效,后来发现这种操…

Ubuntu 20.04 - 21.10进入桌面后黑屏的解决思路+经验总结

引言 之前用Ubuntu 20.04 时候三天两头喜欢折腾功能&#xff0c;每次一折腾完Linux就喜欢要么这里要么哪里撂挑子&#xff0c;进入系统后黑屏就是其中最大的一个问题。 回想刚开始用Linux的小白时期&#xff0c;第一次遇到进入系统后黑屏的时候&#xff0c;虽然之前就听说过桌…

Ubuntu20.04 启动卡在黑屏的解决方法

最近在VM中新安装了Ubuntu20.04&#xff0c;悲催的是启动后一直卡在黑屏&#xff1b;在坑里爬了几天后&#xff0c;终于出坑&#xff1b; 以下是整理的实际操作步骤&#xff0c;希望若有入坑的尽快出坑&#xff1b; 1、启动虚拟机时&#xff0c;进入Grub画面选择相应内核启动…

ubuntu 开机黑屏 解决方案 之一(filesystem readonly)

起因 &#xff1a; 由于本人有不关机的习惯&#xff0c;最近几次早上到公司工作&#xff0c;发现电脑都处于假死状态&#xff0c;显示屏永远处于屏保画面。只好重新启动&#xff0c;但是启动之后 电脑就黑屏&#xff0c;彻彻底底的黑屏&#xff0c;什么都看不到。 解决方案&…

ubuntu启动时黑屏,无法进入登录界面

方式1 1、重新启动客户机 2、点击屏幕立即长按左shift键或ESC 3、出现grub菜单后选择第二个 4、又出现一个列表继续选择第二个 5、下一个页面选择第一个 6、下一个界面点击OK就可以了&#xff0c;但不能保证下次开机时能不能进入 方式2 在vmware中的ubuntu开机时黑屏&#xf…

Ubuntu开机黑屏原因及解决(recovery Mode)

目录 问题描述 解决方法 步骤一 步骤2 总结 恢复模式 问题描述 Linux版本&#xff1a;Ubuntu 16.04 VMware workstation版本&#xff1a; 15 点击启动虚拟机后&#xff0c;经过长时间的等待 (大概2min&#xff0c;正常只需要十几秒)后&#xff0c;显示黑屏&#xff0c…

ubuntu20.04开机黑屏解决方法

问题&#xff1a;开机选择ubuntu20.04系统后&#xff0c;在应显示系统登录界面时黑屏&#xff0c;仅有光标闪烁。如等待时间较久&#xff0c;可能出现ppm init failed -110的错误信息。 情况描述&#xff1a;出现开机问题以来重装过几次系统&#xff0c;换过不同版本的驱动程序…

Ubuntu Linux开机黑屏的永久解决办法

开机之后&#xff0c;没有图形界面&#xff0c;也无法使用命令窗口界面。 解决办法1 对你的电脑来说&#xff0c;这种办法可能只是暂时的解决。重启之后可能又出现黑屏。如果是这样&#xff0c;可以看解决办法2。 因为此时电脑其实是已经可以联网的&#xff0c;如果你之前已…