LISP - 数组
-
简述
LISP 允许您使用make-array函数。数组可以存储任何 LISP 对象作为它的元素。所有数组都由连续的内存位置组成。最低地址对应第一个元素,最高地址对应最后一个元素。数组的维数称为其秩。在 LISP 中,数组元素由一系列非负整数索引指定。序列的长度必须等于数组的秩。索引从零开始。例如,要创建一个包含 10 个单元格的数组,命名为 my-array,我们可以这样写:aref 函数允许访问单元格的内容。它有两个参数,数组名和索引值。例如,要访问第十个单元格的内容,我们写 - -
示例 1
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 - -
示例 2
让我们创建一个 3×3 数组。创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 - -
示例 3
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 - -
make-array 函数的完整语法
make-array 函数接受许多其他参数。让我们看看这个函数的完整语法 -除了维度参数之外,所有其他参数都是关键字。下表提供了参数的简要说明。序号 Argument & Description 1 dimensions它给出了数组的维度。一维数组是数字,多维数组是列表。2 :element-type是类型说明符,默认值为T,即任意类型3 :initial-element初始元素值。它将创建一个数组,其中所有元素都初始化为特定值。4 :initial-content作为对象的初始内容。5 :adjustable它有助于创建一个可调整大小(或可调整)的向量,其底层内存可以调整大小。参数是一个布尔值,表示数组是否可调,默认值为 NIL。6 :fill-pointer它跟踪实际存储在可调整大小向量中的元素数量。7 :displaced-to它有助于创建与指定数组共享其内容的置换数组或共享数组。两个数组应具有相同的元素类型。:displaced-to 选项不能与 :initial-element 或 :initial-contents 选项一起使用。此参数默认为零。8 :displaced-index-offset它给出了创建的共享数组的索引偏移量。例 4
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 -如果置换数组是二维的 -当您执行代码时,它返回以下结果 -让我们将置换索引偏移量更改为 5 -当您执行代码时,它返回以下结果 -例 5
创建一个名为 main.lisp 的新源代码文件,并在其中键入以下代码。当您执行代码时,它返回以下结果 -