random_shuffle()函數用于隨機重排指定范圍內的元素。
函數定義:
template <class RandomAccessIterator>
void random_shuffle(RandomAccessIterator first, RandomAccessIterator last);
參數說明:
使用示例:
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
// 重排整個向量
std::random_shuffle(vec.begin(), vec.end());
// 輸出重排后的結果
for (auto num : vec) {
std::cout << num << " ";
}
return 0;
}
輸出結果:
4 3 1 2 5
random_shuffle()函數會將指定范圍內的元素進行隨機重排。重排的結果每次運行都可能不同。在上面的示例中,輸出結果就是對原向量{1, 2, 3, 4, 5}進行隨機重排的結果。
需要注意的是,random_shuffle()函數只適用于隨機訪問迭代器(RandomAccessIterator),如向量(vector)和數組(array)。對于其他類型的容器,可以使用shuffle()函數進行類似的操作。