最初のページ 戻る 次へ 最後のページ

演習

remove-if関数を用いて、quicksort関数を作りなさい。

(remove-if ( ) x)

( 3 1 6 2 2 ...)

(define x '( 3 1 6 2 2 7 7 6 6 0 1 6 8 3 8 ))

( 1 2 2 …)

3より小さい数

( 6 7 7 …)

3以上の数

3

(remove-if ( ) x)

(car x)

リストxから3以上の数を削除すればよい!

リストxから3未満の数を削除すればよい!

(remove-if (lambda (w) (>= w (car x))) (cdr x))

wが(car x)以上の時 #t

この部分で

quicksort