C++ algorithm random_shuffle() 函数
示例
随机排列向量中的元素
vector<int> numbers = {1, 2, 3, 5, 7, 9};
random_shuffle(numbers.begin(), numbers.end());
for (int number : numbers) {
cout << number << " ";
}
自己动手试一试 »
定义和用法
random_shuffle()
函数可以随机地对数据范围中的元素进行排序。
数据范围由迭代器指定。
注意:上面的示例可能会导致每次排序都以相同的方式进行。
为了改变随机排序,您可以使用 srand()
函数来播种随机数生成器。为了确保每次的顺序都不同,您可以在“更多示例”部分中使用当前时间作为种子,如下所示。
语法
random_shuffle(iterator start, iterator end);
参数值
参数 | 描述 |
---|---|
start | 必需。指向数据范围开始位置的迭代器。 |
end | 必需。指向数据范围结束位置的迭代器。将包含此位置之前的元素,但不包含此位置的元素。 |
更多示例
示例
确保每次程序运行时向量的排序都不同
vector<int> numbers = {1, 2, 3, 5, 7, 9};
srand(time(NULL));
random_shuffle(numbers.begin(), numbers.end());
for (int number : numbers) {
cout << number << " ";
}
自己动手试一试 »
相关页面
在我们 数据结构教程 中了解更多关于数据结构的信息。
在我们 迭代器教程 中了解更多关于迭代器的信息。
在我们 算法教程 中了解更多关于算法的信息。