Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.40 KB | None | 0 0
  1.     (defun minimum (yourlist)
  2.        (let ((min-i 0)
  3.          (min-el (nth 0 yourlist)))
  4.          (loop for el in yourlist
  5.         for i from 0
  6.         do (if (< el min-el)
  7.                (progn
  8.              (setf min-el el)
  9.              (setf min-i i))))
  10.          (values min-el min-i)))
  11.  
  12.     (defun pop-min (yourlist)
  13.        (multiple-value-bind (min-el min-i) (minimum yourlist)
  14.          (remove-if (lambda (x) t) yourlist :start min-i :end (1+ min-i))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement