在C++中,可以使用標準庫中的shuffle
函數來打亂一個序列的元素順序。下面是正確使用shuffle
函數的示例代碼:
#include <iostream>
#include <algorithm>
#include <vector>
#include <random>
int main() {
std::vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
// 使用隨機數引擎來生成隨機數
std::random_device rd;
std::mt19937 g(rd());
// 調用shuffle函數來打亂nums中的元素順序
std::shuffle(nums.begin(), nums.end(), g);
// 打印打亂后的序列
for (int num : nums) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
在上面的示例代碼中,首先創建了一個包含數字1到10的vector。然后使用std::random_device
來獲取真正隨機的種子,并將其傳遞給std::mt19937
引擎。最后,調用std::shuffle
函數來打亂vector中的元素順序。
通過正確使用shuffle
函數,可以確保生成的隨機序列是真正隨機的,并且符合預期的打亂效果。