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 << " ";
}
亲自试一试 »
相关页面
阅读更多关于数据结构的内容,请参阅我们的数据结构教程。
阅读更多关于迭代器的内容,请参阅我们的迭代器教程。
阅读更多关于算法的内容,请参阅我们的算法教程。

