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

jianhongzhao 2010-10-17 11:21:46
1.用 LISP语言写一个函数定义用来求表的长度。
2.用LISP语言写一个函数定义将表逆置。

先回答先给分,谢谢。
...全文
137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiankangshiye 2011-04-02
  • 打赏
  • 举报
回复
1.用 LISP语言写一个函数定义用来求表的长度。
(defun ilength (lst)
(cond
((null lst) 0)
(t (+ 1 (ilength (cdr lst))))))

2.用LISP语言写一个函数定义将表逆置。
(defun ireverse (lst)
(cond
((null lst) lst)
((= 1 (ilength lst)) lst)
(t (append (ireverse (cdr lst)) (cons (car lst) nil)))))
lispworks 6.0.1 免费版下测试通过。
madpc 2011-01-28
  • 打赏
  • 举报
回复
第二问:
简单的
(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))) -- 调用
madpc 2011-01-28
  • 打赏
  • 举报
回复
只会elisp

第一问:

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

(lenlist '(1 2 3 4 5 6 '(abc))) -- 调用,返回7
lyingbo 2010-10-20
  • 打赏
  • 举报
回复
貌似使用这个语言的不是非常多吧

帮你顶下
uhnehcuhnehc 2010-10-19
  • 打赏
  • 举报
回复
也是我想知道的
jianhongzhao 2010-10-18
  • 打赏
  • 举报
回复
我顶!!

3,423

社区成员

发帖
与我相关
我的任务
社区描述
其他开发语言 其他开发语言
社区管理员
  • 其他开发语言社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧