Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

FBS vs DABS

Name: Anonymous 2009-08-30 15:07

Which do you prefer?
Fibonacci Butt Sort
or
Directed Acyclic Butt Sort

Name: Anonymous 2009-08-30 23:38

2-in-1 implementation of Fibonacci Butt Sort and Directed Acyclic Butt Sort :


(asdf:oos 'asdf:load-op '#:split-sequence)

(defun wrap-tag (string tag)
  (if (null tag)
      ""
      (format nil "[~a]~a[/~a]" tag string tag)))

(defun wrap-tags (string &rest tags)
  (labels ((rec (string tags)
             (if tags
                 (rec (wrap-tag string (car tags)) (cdr tags))
                 string)))
    (rec string (reverse tags))))

(defun split-string (s)
  (loop for c across s collect c))

(defun bbsort (s &optional acyclic)
  (let ((seqs (if acyclic
                  (mapcan #'(lambda (x) (list x #\Space)) (split-sequence:split-sequence #\Space s))
                  (split-string s)))
        parity)
    (wrap-tags
      (apply #'concatenate 'string
             (mapcar #'(lambda (x)                        
                         (if (member x '(#\  "" " ") :test #'equal)
                             " "
                             (progn
                               (setf parity (not parity))
                               (wrap-tag x (if parity "o" "u")))))
                     seqs)) "i" "b")))

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List