Function rand::seq::sample_slice [−][src]
pub fn sample_slice<R, T>(rng: &mut R, slice: &[T], amount: usize) -> Vec<T> where
R: Rng,
T: Clone, Expand description
Randomly sample exactly amount values from slice.
The values are non-repeating and in random order.
This implementation uses O(amount) time and memory.
Panics if amount > slice.len()
Example
use rand::{thread_rng, seq};
let mut rng = thread_rng();
let values = vec![5, 6, 1, 3, 4, 6, 7];
println!("{:?}", seq::sample_slice(&mut rng, &values, 3));