自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Lisp语言:列表(List)

终于开始讨论列表了,列表是Lisp的精华之一,也是学习Lisp的难点之一。列表的精彩之处在于,它不仅仅是Lisp中的一种数据结构,它也是Lisp语言的构成部分,Lisp语言中的所有语句都是一个列表。反观我们常见的编程语言,语言中的语句有特定的语法,而这些语法只有编译器可以理解,用编程语言自己去解释自己几乎就成了一个不可能完成的任务。举个例子,看看下面的java语句:int i = j + 10 ;

2012-07-10 21:15:15 13712 7

原创 Lisp语言:散列表(hash table)

散列表,也就是hash-table,在编程过程中会经常使用到,它以“关键字--数值”这样的对应关系保存数据,适合用于保存那些需要通过关键字查找数值的数据。这里不打算详细介绍散列表的原理,希望深入了解散列表的同学请参考其它相关资料,这里只是介绍如何在Lisp中使用散列表。再说,这种涉及理论的高深话题也不是我这种半途出家的人能说明白的,就是叫我讲我也不一定讲的清楚。说来惭愧,在刚开始工作的第一年中,我

2012-07-10 00:19:04 3284

原创 Lisp语言:可变长数组

之前讨论的数组都是定长数组,定长数组最大的问题就是数组的长度不能动态改变。如果定义数组时定义的数组长度不够,数组满了就不能另外添加元素,如果数组定义的长度太长,又浪费内存空间。为了应对这个问题,我们需要一个可以动态改变长度的数组。讨论到这时c程序员会想到链表,而java程序员可能会想到Vector,它们都通过一定的性能牺牲实现了可变长度的数组。Lisp中也有类似的数据结构,可以称之为可变长数组,在

2012-07-05 21:01:00 4024 3

原创 Lisp语言:二维数组和多维数组

很多情况下只有一维数组是不够用的,有时我们需要使用二维数组甚至是多维数组。Lisp中二维数组的使用和一维数组很接近,都是使用make-array函数来创建。创建一维数组的样例如下:(setf test-array-1 (make-array 10 :initial-element "xxx"))而创建二维数组的样例看起来非常相似:(setf test-array-2 (make-array '(3

2012-07-04 18:10:32 4748

原创 Lisp语言:数组

讨论了变量以后让我们来看看Lisp中的数组,对于非Lisp程序员来讲这是再自然不过的了,很多编程语言的教材上都是在讲述了一般性语法后讲解数组。不过,Lisp程序员可能会有点疑问,为什么不开始介绍列表呢?列表作为Lisp语言的关键在Lisp中起到了重要的作用,所以很多有关Lisp的材料都是以介绍列表开始,这对于一般程序员来讲有在思路转换上有点困难。所以在这里还是按一般程序员的习惯,先介绍数组等常见的

2012-07-02 13:01:56 5395 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除