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

用法舉例
因為是去除相鄰的重復元素,因此通常使用前容器應該要是有序的。
數(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
要想真正去除重復元素還需要使用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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
VSCode遠程開發(fā)調(diào)試服務器c/c++代碼
語音相關(guān)的好多項目要在linux上跑,但代碼開發(fā)大多是在PC機上,本篇簡單介紹一下怎么在個人電腦上用VSCode遠程開發(fā)調(diào)試服務器上的c/c++代碼。感興趣的朋友跟隨小編一起看看吧2020-04-04
Qt6.0+vs2019環(huán)境配置的實現(xiàn)教程
這篇文章主要介紹了Qt6.0+vs2019環(huán)境配置的實現(xiàn)教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-03-03
c語言合并兩個已排序數(shù)組的示例(c語言數(shù)組排序)
如何將兩個已排序數(shù)組合并成一個排序數(shù)組,下面我們給出使用c語言合并兩個已排序數(shù)組的示例,需要的朋友可以參考下2014-03-03
字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較
以下是對字符串拷貝函數(shù)memcpy和strncpy以及snprintf它們之間的性能進行了比較,需要的朋友可以過來參考下2013-07-07

