Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. use std::collections::VecDeque;
  2.  
  3. fn permute<T: Clone>(used: &mut Vec<T>, unused: &mut VecDeque<T>, perms: &mut Vec<T>) {
  4. if unused.is_empty() {
  5. perms.extend(used.iter().cloned());
  6. }
  7.  
  8. for _ in 0..unused.len() {
  9. used.push(unused.pop_front().unwrap());
  10. permute(used, unused, perms);
  11. unused.push_back(used.pop().unwrap());
  12. }
  13. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement