# Array 数值型数组

CreateObject("Stock.Array")

  1. Array对象支持动态的浮点型数据数组,必要时可以动态压缩并扩展。数组索引从0开始。金字塔许多对象数组参数的传递需要此对象来完成。有关数组的概念,请参照Visual Basic有关概念。
  2. 金字塔的Array对象提供大量的算法,帮助用户对数据进行各种统计和数值计算.
属性
属性 说明
Count 数组大小,只读。
方法
方法 说明
AddBack 在数组末尾添加一个数据
InsertAt 在指定数组位置插入一个数据.在此过程中,移动(通过索引值的增加)此索引上原有的元素,并且移动所有在其后的元素。
RemoveAt 删除指定位置的数据
RemoveAll 清空数组内所有数据
GetAt 取数组指定位置的数据
SetAt 设置数组指定位置的数据,SetAt不会引起数组增长。
SetSize 初始或者重置数组大小

# 算法

算法名 说明
Sort 排序数组数据,参数含义 0正序 1反序. 例如 Sort(0)表示对数据进行正向排序
Copy 将其他Array数组数据复制到当前对象中
Find 对数据进行线性查找,找到指定数值后返回数值的数组基于0的位置,找不到则返回-1. 例如 Find(10,0)表示从第0个序列开始查找等于10数值的位置
EquCount 返回数组区等于指定数值的个数
Equal 比较与另一个Array对象内部数据,若完全相等则返回1,否则返回0
Swap 与另一个Array对象进行数据互换
Replace 用某一个给定的值来替代本数组中所有等于另一给定值的元素,例如Replace(0,10,20)表示从第一个序列开始将所有等于10的数值替换成20
Fill 用一个给定值来替代本数组中所有的数值,例如Fill(5,10)表示从第5序列开始后面的所有数据都置为10
Remove 删除数组中等于某一给定值的所有元素,例如Remove(0,10)表示从第0序列开始,删除所有等于10的数值
Unique 删除所有连续相等的元素,例如Unique(0)表示从第0序列开始删除所有连续等值的数值
Reverse 将数组之间位置关系取逆
Search 采用二分法查找数据(数据必须为一个从小到大的正序数组序列),找到指定数值后返回数值的数组基于0的位置,找不到则返回-1

# 统计

统计 说明
Max 返回数组元素中的最大值
Min 返回数组元素中的最小值
Average 返回数组元素的平均值
AllCount 返回数组元素的数值总和
Alike 计算该数组与其他Array对象之间的相似系数,例如Alike(ar)表示求与ar数组对象之间的相似度
Releate 计算该数组与其他Array对象之间的相关系数
Avedev 计算平均绝对偏差
Covar 计算该数组与另外Array对象数组的协方差
Devsq 计算该数组的数据偏差平方和
Forcast 计算该数组的线性回归预测值
Slope 计算该数组的线性回归斜率
Std 计算该数组的估算标准差
Stdp 计算该数组的总体标准差
Var 计算该数组的估算样本方差
Varp 计算该数组的总体样本方差
示例
'创建一个Array数组对象并排序
Dim d '创建一个变量

'创建Array外部对象,将对象实例置变量d中
Set d = CreateObject("Stock.Array")

'创建完Array对象后往其内部插入两个数据
d.AddBack(3.25)
d.AddBack(4.33)
d.AddBack(2.02)

'按正序排列数组数据
d.Sort(0)

'依次显示数组对象数据
For i = 0 To 2
    MsgBox d.GetAt(i)
Next

'不要忘记释放对象,不然会导致内存泄漏
set d = nothing
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21