Function rand::seq::sample_slice_ref [−][src]
pub fn sample_slice_ref<'a, R: ?Sized, T>(
rng: &mut R,
slice: &'a [T],
amount: usize
) -> Vec<&'a T> where
R: Rng,
Randomly sample exactly amount
references from slice
.
The references 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_ref(&mut rng, &values, 3));