codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
; an array of zeroes (define (zeroes vec) (let loop ((lo 0) (hi (- (vector-length vec) 1)) (counter 0)) (cond ((< hi lo) (values counter vec)) ((zero? (vector-ref vec lo)) (vector-set! vec lo (vector-ref vec hi)) (vector-set! vec hi 0) (loop lo (- hi 1) counter)) (else (loop (+ lo 1) hi (+ counter 1)))))) (call-with-values (lambda () (zeroes '#(1 0 2 3 0 0 4))) (lambda (count vec) (display count) (display " ") (display vec) (newline))) (call-with-values (lambda () (zeroes '#(0 0 0 0 0))) (lambda (count vec) (display count) (display " ") (display vec) (newline))) (call-with-values (lambda () (zeroes '#(1 1 1 1 1))) (lambda (count vec) (display count) (display " ") (display vec) (newline))) (call-with-values (lambda () (zeroes '#(0 0 1 2 3 4 0 0))) (lambda (count vec) (display count) (display " ") (display vec) (newline))) (call-with-values (lambda () (zeroes '#())) (lambda (count vec) (display count) (display " ") (display vec) (newline)))
Private
[
?
]
Run code
Submit