睡眠不足オーラふりまきまくった上にがっつり寝てしまってすんません。
やりかけていたことができたのでとりあえず。
(defparameter test-node '(:node (:node (:node) (:node) (:node)) (:node (:node)))) (defun node-children(node) (cdr node)) (defun bfs(queue list) (if (null queue) (nreverse list) (bfs (append (cdr queue) (node-children (car queue))) (cons (length (node-children (car queue))) list)))) (bfs (list test-node) nil)
次は各ノードに幅優先の順序でのインデックスを振りたいのと、:node以外のものがあったばあいにすっ飛ばして処理できるようにしたい。