0001 template <typename T> int Vector<T>::deduplicate() { //删除无序向量中重复元素(繁琐版) 0002 int oldSize = _size; //记录原规模 0003 int i = -1; //从最前端开始 0004 while ( ++i < _size - 1 ) { //从前向后,逐一 0005 int j = i + 1; //assert: _elem[0, i]中不含重复元素 0006 while ( j < _size ) 0007 if ( _elem[i] == _elem[j] ) remove ( j ); //若雷同,则删除后者 0008 else j++; //并继续扫描 0009 } 0010 return oldSize - _size; //向量规模变化量,即被删除元素总数 0011 }