我们都知道在使用stl的时候可以用sort来进行排序(蒟蒻款),但还使用可以一个好用的函数unique(删除序列中所有相邻的重复元素)来去重。
sort(a,a+t);//t为元素个数,a是待排序去重的序列
unique(a,a+t);
当然因为它是删除序列中所有相邻的重复元素,则我们应在去重之前,用sort一遍排序,然后就可以完成排序+去重了。
然后你要如何了解去重后的元素个数呢?我们可以这样:
t=unique(a,a+t)-a;
为什么这么做?我也不知道啊!希望daolao指点一下。
类似的问题还有:既然unique只能去重相邻的元素,那我们如何做到不排序就去重,可以桶排序。