当前位置: 代码迷 >> 其他开发语言 >> 1.用 LISP语言写一个函数定义用来求表的长度。 2。用LISP语言写一个函数定义将表逆置。该怎么解决
  详细解决方案

1.用 LISP语言写一个函数定义用来求表的长度。 2。用LISP语言写一个函数定义将表逆置。该怎么解决

热度:8098   发布时间:2013-02-26 00:00:00.0
1.用 LISP语言写一个函数定义用来求表的长度。 2。用LISP语言写一个函数定义将表逆置。
1.用 LISP语言写一个函数定义用来求表的长度。 
2.用LISP语言写一个函数定义将表逆置。

先回答先给分,谢谢。

------解决方案--------------------------------------------------------
也是我想知道的
------解决方案--------------------------------------------------------
貌似使用这个语言的不是非常多吧

帮你顶下
------解决方案--------------------------------------------------------
只会elisp

第一问:

(defun lenlist (lst)
(setq r 0)
(dolist (var lst) (setq r (+ 1 r)))
r
)

(lenlist '(1 2 3 4 5 6 '(abc))) -- 调用,返回7
------解决方案--------------------------------------------------------
第二问:
简单的
(reverse '(1 2 3 4 5 6 '(abc)))


手工写的
(defun CAT (L1 L2)
(cond
((null L1) L2)
((atom (cdr L1)) (cons (car L1) L2))
(t (cons (car L1) (CAT (cdr L1) L2)))))

(defun revlist (L)
(cond
((null L) nil)
(t (CAT (revlist (cdr L)) (list (car L))))))

(revlist '(1 2 3 4 5 6 '(abc))) -- 调用