
LISP
文章平均质量分 75
Brian_Ken
https://chunyangwen.com
展开
-
Scheme和Common Lisp中对函数作为变量和返回值的处理方法差异
今天晚上特别郁闷。原创 2013-12-30 23:24:41 · 1944 阅读 · 1 评论 -
Lisp tutorial
下面是参考了Standford大学的CS157课的一个PPT。作为一个非常基本的LISP入门,给大家一个感性的认识。一般情况下我们可以安装CLISP,Common Lisp,这个是标准。在Windows下和Linux下都有相应的版本。解释器 在Windows下可以直接双击相应的软件,然后打开;在Linux下可以安装完clisp后,输入clisp开启clisp的命令行。退出输入(quit)原创 2013-12-26 11:49:36 · 835 阅读 · 0 评论 -
Lisp实现有理数的运算
编写一个处理有理数的函数原创 2014-01-01 10:35:40 · 825 阅读 · 0 评论 -
LISP中的递归和尾递归
首先解释一下概念: 递归:是指在函数的定义中使用函数自身的方法。递归一词还较常用于描述以自相似方法重复事物的过程。 尾递归:在计算机科学里,尾调用是指一个函数里的最后一个动作是一个函数调用的情形:即这个调用的返回值直接被当前函数返回的情形。这种情形下称该调用位置为尾位置。若这个函数在尾位置调用本身(或是一个尾调用本身的其他函数等等),则称这种情况为尾递归,是递归的一种原创 2013-12-25 20:21:17 · 2433 阅读 · 0 评论 -
Lisp实现快速排序
学习语言的过程就是练习语言的过程。快速排序作为20世纪十大算法之一,看看使用lisp如何实现。在实现快速排序的时候,本文实现的三向快速排序。在较老的Unix系统中的qsort函数实际上存在毛病,即当待排序的数据中存在大量的重复数据,快速排序仍然需要执行很长的时间。这个bug在很久之后才被发现。随后Dijkstra提出三向快速排序算法,相对与传统的快速排序需要两个索引,三向快速排序需要三个索引。原创 2014-01-02 17:41:19 · 4063 阅读 · 0 评论 -
Lisp中的Loop宏
LOOP提供了一种写循环迭代的特殊语言。 这可能看起来比较大动干戈----为了写循环特地发明一种新的语言。但是如果你想想循环在程序中的用处,这种行为开始有点儿在理。不论任何程序的大小,他们都会包含好多循环语句。而且,尽管他们不尽相同,他们也不是完全不同;如果将循环前后的语句纳入循环代码的范畴,那么循环的初始化,循环中的行为,循环结束后的行为就会透露出一些模式。LOOP语言捕获这些模式,进而让翻译 2014-01-10 22:44:28 · 1588 阅读 · 0 评论