#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; }