0001 template <typename T> void Vector<T>::unsort ( Rank lo, Rank hi ) { //等概率随机置乱区间[lo, hi) 0002 T* V = _elem + lo; //将子向量_elem[lo, hi)视作另一向量V[0, hi - lo) 0003 for ( Rank i = hi - lo; i > 0; i-- ) //自后向前 0004 swap ( V[i - 1], V[rand() % i] ); //将V[i - 1]与V[0, i)中某一元素随机交换 0005 }