"FixedArray" (数据结构)

"FixedArray"

表示一个固定长度的数组,其中的元素是普通表达式.

更多信息

  • 固定长度的数组可用于有效地提取和更新元素:
  • CreateDataStructure[ "FixedArray",n]创建新的有 n 个元素的空 "FixedArray"
    CreateDataStructure[ "FixedArray",x,n]创建一个长度为 n 的新 "FixedArray",初始化为 x
    CreateDataStructure[ "FixedArray",elems]创建一个包含 elems 的新 "FixedArray"
    Typed[x,"FixedArray"]指定 x 的类型为 "FixedArray"
  • 对于类型为 "FixedArray" 的数据结构,可进行以下操作:
  • ds["Copy"]返回 ds 的副本时间: O(n)
    ds["Elements"]返回 ds 的参数列表时间: O(n)
    ds["EmptyQ"]如果 ds 中没有元素则返回 True时间: O(1)
    ds["Fold",fun,init]fun 应用于 ds 的以 init 开始的元素,并累计结果时间:O(n)
    ds["Length"]存储在 ds 中的元素的数量时间: O(1)
    ds["Part",i]给出 ds 中的第 i 个元素时间: O(1)
    ds["SetPart",i,elem]更新 ds 的第 i 个元素时间: O(1)
    ds["SwapPart",i,j]ds 的第 i 个元素和第 j 个元素互换时间: O(1)
    ds["Visualization"]返回 ds 的可视化时间: O(n)
  • 还支持以下函数:
  • dsi===dsj如果 dsi 等于 dsj 则为 True
    ds["Part",i]=valds 的第 i 个元素设为 val
    FullForm[ds]ds 的完全形式
    Information[ds]关于 ds 的信息
    InputForm[ds]ds 的输入形式
    Normal[ds]ds 转换成普通表达式

范例

打开所有单元关闭所有单元

基本范例  (3)

可用 CreateDataStructure 创建新的 "FixedArray"

返回总长度:

返回表达式形式的 ds. 其中的元素被初始化为 Null

改变元素:

该元素已被更新:

表达式形式的 ds

快速更新元素:

可视化数据结构:

求所有元素的和:

可给出初始值:

范围  (1)

信息  (1)

可用 CreateDataStructure 创建新的 "FixedArray"

数据结构 ds 的信息:

属性和关系  (1)

"DynamicArray"  (1)

适用于 "DynamicArray" 的许多算法也适用于 "FixedArray".

可能存在的问题  (2)

需使用正整数指定数组中元素的个数:

不能设置数组中不存在的元素的值:

互动范例  (1)

计算并保存数据结构中的个别绘图,然后使用 Manipulate 交互式显示这些绘图:

巧妙范例  (2)

Fibonacci  (1)

计算斐波那契序列的前 16 个元素:

将前两个元素设为 1,然后计算剩下的元素:

显示结果:

Histogram  (1)

下面的函数计算图像中不同颜色值的直方图:

对图像的像素应用该函数:

显示结果: