0001 template <typename T> void Vector<T>::dedup() { //O(n^2) 0002 for (Rank k = 0; k < _size; ) { //自前向后逐个考查每个元素[k]——从k=1开始亦可 0003 Rank i = find(_elem[k], 0, k); //在无重前缀[0,k)中查找[k]:O(i+1) 0004 if (i < k) remove(i); //若有相等的[i](至多一个),则删除之:O(_size-i-1) 0005 else k++; //否则,则继续考查下一元素 0006 } //for 0007 } //dedup