# Array 数值型数组
CreateObject("Stock.Array")
- Array对象支持动态的浮点型数据数组,必要时可以动态压缩并扩展。数组索引从0开始。金字塔许多对象数组参数的传递需要此对象来完成。有关数组的概念,请参照Visual Basic有关概念。
- 金字塔的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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21