¿Cómo podemos encontrar el elemento mínimo en una lista en Lisp?
Dado un gran número m como argumento, obtenga un valor mínimo de una lista. El siguiente código devuelve el elemento mínimo en una lista.
(defun get-min (m l) ; takes a list ; return the minimum value (cond ((null (car l)) m) ((< (car l) m) (get-min (car l) (cdr l))) (t (get-min m (cdr l)))) ) |
Actualización: «aplicar» se puede utilizar en este caso, aquí hay uno mejor.
(defun smallest (l) ; takes a list ; return the smallest element (apply 'min l) ) |