C++中unique函數(shù)的用法示例
介紹
unique是STL比較實(shí)用的一個(gè)函數(shù)。用于“去除”容器內(nèi)相鄰的重復(fù)的元素(只保留一個(gè))。這里說(shuō)的去除并不是真正將容器內(nèi)的重復(fù)元素刪去,只是把重復(fù)的元素移到容器最后,但是依然在容器內(nèi)。 對(duì)于數(shù)組而言返回去重后最后一個(gè)元素的指針,而其他容器則是返回去重后最后一個(gè)元素的迭代器。

用法舉例
因?yàn)槭侨コ噜彽闹貜?fù)元素,因此通常使用前容器應(yīng)該要是有序的。
數(shù)組
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[6] = {1,1,4,6,6,7};
int *p = unique(a,a+6);
cout << &a[4] << endl;
cout << p << endl;
cout << p - a <<endl;
for(int i = 0;i < p-a;i++)
{
cout << a[i] << endl;
}
return 0;
}

vector
要想真正去除重復(fù)元素還需要使用erase()函數(shù)
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
vector<int> v;
v.push_back(1);
v.push_back(1);
v.push_back(4);
v.push_back(6);
v.push_back(6);
v.push_back(7);
vector<int>::iterator it = unique(v.begin(),v.end());
cout<< v.size() <<endl;
v.erase(it,v.end());
for(it = v.begin();it != v.end();it++)
{
cout << *it << " ";
}
return 0;
}

總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
VSCode遠(yuǎn)程開(kāi)發(fā)調(diào)試服務(wù)器c/c++代碼
語(yǔ)音相關(guān)的好多項(xiàng)目要在linux上跑,但代碼開(kāi)發(fā)大多是在PC機(jī)上,本篇簡(jiǎn)單介紹一下怎么在個(gè)人電腦上用VSCode遠(yuǎn)程開(kāi)發(fā)調(diào)試服務(wù)器上的c/c++代碼。感興趣的朋友跟隨小編一起看看吧2020-04-04
Qt6.0+vs2019環(huán)境配置的實(shí)現(xiàn)教程
這篇文章主要介紹了Qt6.0+vs2019環(huán)境配置的實(shí)現(xiàn)教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03
c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例(c語(yǔ)言數(shù)組排序)
如何將兩個(gè)已排序數(shù)組合并成一個(gè)排序數(shù)組,下面我們給出使用c語(yǔ)言合并兩個(gè)已排序數(shù)組的示例,需要的朋友可以參考下2014-03-03
C++實(shí)現(xiàn)HTTP服務(wù)的示例代碼
本文主要介紹了C++實(shí)現(xiàn)HTTP服務(wù)的示例代碼,C++ HTTP,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-04-04
php5系列的apache遠(yuǎn)程執(zhí)行漏洞攻擊腳本
這篇文章主要介紹了php5系列的apache遠(yuǎn)程執(zhí)行漏洞攻擊腳本,需要的朋友可以參考下2014-06-06
字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較
以下是對(duì)字符串拷貝函數(shù)memcpy和strncpy以及snprintf它們之間的性能進(jìn)行了比較,需要的朋友可以過(guò)來(lái)參考下2013-07-07

