Отсортировать список со списками по возрастанию - Lisp
Формулировка задачи:
Добрый день, подскажите пожалуйста: Как отсортировать список с подсписками по возрастанию?
Например при: Должно получиться что-то типо такого:
`( (d e 2) (e c 3) (b c 1) (c d 4) (a b 5) (a z 6) (c a 2) (b d 3 ) )
`( (b c 1) (d e 2) (c a 2) (b d 3 ) (e c 3) (c d 4) (a b 5) (a z 6) )
Решение задачи: «Отсортировать список со списками по возрастанию»
textual
Листинг программы
(defun vsort (lst) (if (null lst) nil (let ((min (car lst))) (dolist (i (cdr lst) t) (when (< (caddr i) (caddr min)) (setq min i))) (cons min (vsort (removef min lst)))))) ==> VSORT (vsort '((d e 2) (e c 3) (b c 1) (c d 4) (a b 5) (a z 6) (c a 2) (b d 3 ))) ==> ((B C 1) (D E 2) (C A 2) (E C 3) (B D 3) (C D 4) (A B 5) (A Z 6))
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д