バブルソートは諦めて選択ソート

さっきのやつを修正した.今回はちゃんと動いているぽい.

#!/usr/bin/env gosh

(define (selectsort listdata)
  (define (exceptmax lst)
	(if (pair? lst)
	  (if (= (fold max -1 lst) (car lst))
		(cdr lst)
		(append (list (car lst)) (exceptmax (cdr lst)))
		)
	  ()
	  )
	)
  (if (pair? listdata)
	(append (selectsort (exceptmax listdata)) (list (fold max -1 listdata)))
	listdata
	)
  )

(define (main args)
  (let ((inputlist `(9 0 1 8 2 7 3 6 4 5)))
	(print inputlist)
	(print (selectsort inputlist))
	)
  )