打印本文 打印本文  关闭窗口 关闭窗口  
访问简单变量总是快于数组元素值
作者:佚名  文章来源:不详  点击数  更新时间:2008/5/9 19:02:26  文章录入:杜斌  责任编辑:杜斌

  读写数组中的元素速度通常都慢于访问一个简单变量,因此,如果在一个循环中要重复使用同一数组元素值,就应该分配数组元素值到临时变量中并使用这个变量。下面举一个例子,检测整数数组中是否存在重复项:

  Function AnyDuplicates(intArray() As Integer) As Boolean

  '如果数组包含重复项,返回True

  Dim i As Long, j As Long,

  Dim lastItem As Long

  Dim value As Integer

  '只计算机UBound()一次

  lastItem = UBound(intArray)

  For i = LBound(intArray) To lastItem

  ' 保存intArray(i)到非数组变量中

  value = intArray(i)

  For j = i + 1 To lastItem

  If value = intArray(j) Then

  AnyDuplicates = True

  Exit Function

  End If

  Next

  Next

  '没有发现重复项

  AnyDuplicates = False

  End Function

  上述程序有2层循环,通过缓存intArray(i)的数值到一个普通的、非数组变量中,节省了CPU运行时间。经测试,这将提高80%的速度。

打印本文 打印本文  关闭窗口 关闭窗口