Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (define (qs elements)
- (if (stream-empty? elements)
- empty-stream
- (let* ([pivot (stream-first elements)]
- [rest (stream-rest elements)]
- [<pivot (λ (x) (< x pivot))]
- [>=pivot (λ (x) (>= x pivot))]
- [small (stream-filter <pivot rest)]
- [large (stream-filter >=pivot rest)])
- (stream-append (qs small)
- (stream-cons pivot
- (qs large))))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement