unique “去除相邻的相同元素” 实际并未去除 只是把不重复的依次移动到了前面 实现方法如下:
iterator My_Unique (iterator first, iterator last)
{
if (first==last) return last;
iterator result = first;
while (++first != last)
{
if (!(*result == *first))
*(++result)=*first;
}
return ++result;
}
但是unique 返回了++result 因此可以配合erase删除区间
a.erase(unique(a.begin(), a.end()), a.end());