向量整體置亂算法

場景

  • 使向量各個元素等概率出現在各個位置

實現

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)的元素隨機置換
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章