std::experimental::shuffle
來自 cppreference.com
定義於標頭檔案 <experimental/algorithm> |
||
template< class RandomIt > void shuffle( RandomIt first, RandomIt last ); |
(庫基礎 TS v2) | |
使用每執行緒隨機數引擎作為隨機數生成器,重新排列給定範圍[
first,
last)
中的元素,使這些元素的每種可能排列出現的機率相等。
目錄 |
[編輯] 引數
first, last | - | 要隨機洗牌的元素範圍 |
-RandomIt 必須滿足ValueSwappable和LegacyRandomAccessIterator的要求。 |
[編輯] 返回值
(無)
[編輯] 複雜度
與 first 和 last 之間的距離呈線性關係。
[編輯] 示例
執行此程式碼
#include <experimental/algorithm> #include <iostream> #include <string> int main() { std::string sample{"ABCDEF"}; for (int i = 0; i != 4; ++i) { std::experimental::shuffle(sample.begin(), sample.end()); std::cout << sample << '\n'; } }
可能的輸出
DACBFE CDFBAE BDCAFE BAFCED
[編輯] 參閱
(C++17 前)(C++11) |
隨機地重排一個範圍中的元素 (函式模板) |