単純挿入ソート習作
(defun do-simple-insert (list num) (if (not list) (setf list (list num)) (if (< (car list) num) (setf (cdr list) (do-simple-insert (cdr list) num)) (setf list (cons num list)))) list) (defun simple-insert-sort (list) (let ((ret-list)) (dolist (x list ret-list) (setf ret-list (do-simple-insert ret-list x))))) ; 結果 ; * (simple-insert-sort '(5 4 1 6 3 2)) ; ; (1 2 3 4 5 6) ; *