向量整体置乱算法

场景

  • 使向量各个元素等概率出现在各个位置

实现

template<typename T>
void permute(vector<T> &V) {
    for (int i = V.size(); i > 1; --i) { // 随机置乱向量 使各个元素等概率出现在各个位置
        swap(V[i - 1], V(rand() % i)); // 秩i-1的元素和[0,i)的元素随机置换
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章