C++中的random_shuffle函數(shù)可以用來將一個容器中的元素隨機排序。以下是一個示例代碼,展示如何正確使用random_shuffle函數(shù):
#include <iostream>
#include <vector>
#include <algorithm>
#include <ctime>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 設(shè)置隨機種子
std::srand(unsigned(std::time(0)));
// 使用random_shuffle函數(shù)隨機打亂容器中的元素
std::random_shuffle(vec.begin(), vec.end());
// 打印打亂后的結(jié)果
for(auto i : vec) {
std::cout << i << " ";
}
return 0;
}
在上面的示例中,首先我們創(chuàng)建了一個包含1至5的整數(shù)的vector容器,然后通過srand
函數(shù)設(shè)置了隨機種子,接著使用random_shuffle
函數(shù)對容器中的元素進行隨機排序,最后打印了打亂后的結(jié)果。
需要注意的是,random_shuffle
函數(shù)需要包含<algorithm>
頭文件,并且需要使用srand
函數(shù)設(shè)置隨機種子,以確保每次運行結(jié)果都是隨機的。
另外,C++11中引入了更好的隨機數(shù)生成器,可以使用std::shuffle
函數(shù)替代std::random_shuffle
。