codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
; even-odd partition (define (even-odd vec) (define (swap! a b) (let ((t (vector-ref vec a))) (vector-set! vec a (vector-ref vec b)) (vector-set! vec b t))) (let loop ((lo 0) (hi (- (vector-length vec) 1))) (cond ((= lo hi) vec) ((even? (vector-ref vec lo)) (loop (+ lo 1) hi)) (else (swap! lo hi) (loop lo (- hi 1)))))) (display (even-odd '#(1 2 3 4 5 6 7 8 9)))
Private
[
?
]
Run code
Submit