Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::collections::VecDeque;
- fn permute<T>(used: &mut Vec<T>, unused: &mut VecDeque<T>, perms: &mut Vec<T>)
- {
- if unused.is_empty()
- {
- perms.push( used.iter().map(|n| *n).collect::<T>() );
- }
- for _ in 0..unused.len()
- {
- used.push(unused.pop_front().unwrap());
- permute(used, unused, perms);
- unused.push_back(used.pop().unwrap());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement