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

(define (quicksort x)

(if (null? x) nil

(append (quicksort (remove-if ・・・・

(・・・・ (car x) ・・・・

(quicksort (remove-if ・・・・

リストxの第一要素未満の数を残す

戻り値はリスト

リストxの第一要素以上の数を削除

戻り値はリスト

再帰的駆動quicksort

リストを連結

引数はリスト

リストxの第一要素を

リスト化

「リストxの第一要素未満を残す」 には

リストxの第一要素(car x)以上の数を削除

(remove (lambda (w) (.......))) (cdr x))

リストxの第一要素(car x)を除外

除外する条件をラムダ関数で記述

引数wがリストxの第一要素より大きいとき#t

xが空リストであるとき

戻り値は 空リスト(nil)

処理を終了