Advertisement
Guest User

Untitled

a guest
Feb 10th, 2016
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.46 KB | None | 0 0
  1. (define (qs elements)
  2. (if (stream-empty? elements)
  3. empty-stream
  4. (let* ([pivot (stream-first elements)]
  5. [rest (stream-rest elements)]
  6. [<pivot (λ (x) (< x pivot))]
  7. [>=pivot (λ (x) (>= x pivot))]
  8. [small (stream-filter <pivot rest)]
  9. [large (stream-filter >=pivot rest)])
  10. (stream-append (qs small)
  11. (stream-cons pivot
  12. (qs large))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement