Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. // Author Bill Wood
  2. #![feature(slice_patterns)]
  3. fn main() {
  4. let x = vec!(1,2,3,2,5,8,4,9,);
  5. let x = vec!(5,6,3,4);
  6. println!("{:?}", stalin_sort(x));
  7. let x = vec!('a','b','c','b','e','g','d','x');
  8. println!("{:?}", stalin_sort(x));
  9. let ideologies = vec!(
  10. "Fully Automated Luxury Space Communism",
  11. "Socialism",
  12. "Capitalism",
  13. "Communism",
  14. );
  15. println!("{:?}", stalin_sort(ideologies));
  16. }
  17.  
  18. fn stalin_sort<T: PartialOrd + Copy>(v: Vec<T>) -> Vec<T> {
  19. match v[..] {
  20. [] => vec!(),
  21. [x] => vec!(x),
  22. [x, y, ..] => if x <= y {
  23. let mut x = vec!(x);
  24. x.append(&mut stalin_sort(v[1..].to_vec()));
  25. x
  26. } else {
  27. stalin_sort(v[2..].to_vec())
  28. }
  29. }
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement