c++中的unique



#include<bits/stdc++.h> using namespace std; int a[100]; int main() { for (int i=1;i<=8;i++) cin>>a[i]; sort(a+1,a+1+8); int s=unique(a+1,a+1+8)-a-1; for (int i=1;i<=8;i++) cout<<a[i]<<" "; cout<<endl; cout<<"s is "<<s<<endl; return 0; }

  

unique是STL中很实用的函数之一,需要#include,下面来简单介绍一下它的作用。

unique的作用是“去掉”容器中相邻元素的重复元素,这里去掉要加一个引号,为什么呢,是因为它实质上是一个伪去除,它会把重复的元素添加到容器末尾,而返回值是去重之后的尾地址(是地址!!)
————————————————
版权声明:本文为CSDN博主「ShineEternal」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kkkksc03/article/details/101657650

#include<bits/stdc++.h>
using namespace std;
vector<string> v;
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        string h;
        cin>>h;
        v.push_back(h);//将读入的数放进数组里
    }
    sort(v.begin(),v.end());//排序,不排序不能判。
    cout<<unique(v.begin(),v.end())-v.begin()<<endl;//超简单的输出
    return 0;
}

  

原文地址:https://www.cnblogs.com/cutemush/p/15611290.html