数据结构及算法分析——(有序向量唯一化)笔记一

/*有序向量唯一化:*/

template <typename T> int Vector<T>::uniquify(){
	Rank i = 0, j = 0;	//各对互异“相邻”元素的秩
	while ( ++j < _size )	//逐一扫描,直至末元素
				//跳过雷同者;发现不同元素时,向前移至紧邻于前者右侧
	    if ( _elem[i] != _elem[j] ) _elem[++i] = _elem[j];
	_size = ++i; shrink();	//直接截除尾部多余元素
	return j - i;		//向量规模变化量,即被删除元素总数
}				//注意:通过remove(lo, hi)批量删除,依然不能达到高效率



你可能感兴趣的:(算法,唯一化)