shuffle

Function shuffle 

Source
pub fn shuffle<T, R: Rng>(slice: &mut [T], rng: &mut R)
Expand description

随机打乱数组/Randomly shuffle array (Fisher-Yates算法/Fisher-Yates algorithm)

§参数/Arguments

  • slice - 要打乱的数组/Array to shuffle
  • rng - 随机数生成器实例/Random number generator instance

§示例/Examples

use slice_reducer::shuffle;
use rand::thread_rng;
 
let mut arr = [1, 2, 3, 4, 5];
let mut rng = thread_rng();
shuffle(&mut arr, &mut rng);
println!("{:?}", arr);  // 随机顺序/Random order

§高级用法/Advanced usage

// 使用确定性随机源测试(需rand::rngs::mock)
use rand::rngs::mock::StepRng;
let mut test_arr = [1, 2, 3];
shuffle(&mut test_arr, &mut StepRng::new(0, 1));
assert_eq!(test_arr, [2, 1, 3]);