randomize a vector

void shuffle(vector<int> & vect, int size){
    int i = 0;
    int temp = 0, index = size - 1;

    srand(time(nullptr));
    
    while(index > 0){
        i = rand() % (index + 1);
        temp = vect[index];
        vect[index] = vect[i];
        vect[i] = temp;
        --index;
    }
}
原理是每次产生从index 到 0 中的随机数,然后互换位置,产生随机效果。

你可能感兴趣的:(randomize a vector)