Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn quicksort<'a, T: Ord, Iter: Iterator<T>>(i: Iter) -> Box<Iterator<T>+'a> {
- box {
- let p = i.next().unwrap();
- let l = i.by_ref().filter(|x| *x <= p);
- let r = i.by_ref().filter(|y| *y > p);
- quicksort(l).chain(vec![p].iter()).chain(quicksort(r))
- }
- }
- fn main() {
- quicksort(vec![1,2,3].iter())
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement