Advertisement
Guest User

Untitled

a guest
Nov 1st, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Rust 0.34 KB | None | 0 0
  1. fn quicksort<'a, T: Ord, Iter: Iterator<T>>(i: Iter) -> Box<Iterator<T>+'a> {
  2.     box {
  3.         let p = i.next().unwrap();
  4.         let l = i.by_ref().filter(|x| *x <= p);
  5.         let r = i.by_ref().filter(|y| *y > p);
  6.  
  7.         quicksort(l).chain(vec![p].iter()).chain(quicksort(r))
  8.     }
  9. }
  10.  
  11. fn main() {
  12.     quicksort(vec![1,2,3].iter())
  13. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement