原理可查看下面的文章
代码:
void shuffle(vector<int> cards)
{
int n = cards.size();
if(n == 0)
return;
srand(time(0));
//从后往前遍历
for(int i = n - 1; i >= 0; i--)
swap(cards[i], cards[rand()%(i+1)]);
/*从前往后遍历
for(int i = 0; i < n; i++)
swap(cards[i], cards[i + rand()%(n-i)]
*/
}