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 << " ";
}
自己動手試一試 »
相關頁面
在我們 資料結構教程 中瞭解更多關於資料結構的資訊。
在我們 迭代器教程 中瞭解更多關於迭代器的資訊。
在我們 演算法教程 中瞭解更多關於演算法的資訊。