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