数组如何能更快速的去除重复?
依次读取第N(N从2开始)个值:然后从第一个开始到第N-1项,比较是否有与第N项相同的,如有,则删除第N个值,没有,则N=N+1。直至N等于数组上限
IWords=UBound(StrTmp1)
While (I <= IWords)
IsDuplicate = False
For K = 1 To I - 1
If StrComp(StrTmp1(I), StrTmp3(K), vbTextCompare) = 0 Then
IsDuplicate = True
Exit For
End If
Next
If IsDuplicate Then
' DeleteTheNode(I) 在数组StrTmp1中删除第I项
IWords = IWords - 1
else
I = I + 1
End If
Wend
相当于500行的数据,要检索2+3+4+5+6+……+499次 ,相当于比较125000次 ,程序要运行超过1个小时才能完成,高人帮看看,我的思路有什么问题?
相关推荐
JS实现数组去重,显示重复元素及个数的方法示例
本文实例讲述了JS实现数组去重,显示重复元素及个数的方法。分享给大家供大家参考,具体如下: [removed] var arr = ['土豆','土豆','茄子','土豆','茄子','土豆','紫红色']; function qc(arr){ var resultObj = {}; var result = []; var result2 = []; for(var i=0; i<arr.length; i++){ if(result.indexOf(arr[i]) == -1){ result.push(arr[i]);
javascript过滤数组重复元素的实现方法
主要介绍了javascript过滤数组重复元素的实现方法的相关资料,需要的朋友可以参考下
php数组函数序列之array_flip() 将数组键名与值对调
array_flip() 定义和用法 array_flip() 函数将使数组的键名与其相应值调换,即键名变成了值,而值变成了键名。 array_flip() 函数返回一个反转后的数组,如果同一值出现了多次,则最后一个键名将作为它的值,所有其他的键名都将丢失。 如果原数组中的值的数据类型不是字符串或整数,函数将报错。 语法 array_flip(array)参数 描述 array 必需。规定输入的数组。 例子 复制代码 代码如下: <?php $a=array(0=>”Dog”,1=>”Cat”,2=>”Horse”);print_r(array_flip($a)); ?> 输出: Array
JavaScript合并两个数组并去除重复项的方法
主要介绍了JavaScript合并两个数组并去除重复项的方法,涉及javascript操作数组的合并与去重的相关技巧,需要的朋友可以参考下
Java实现数组去除重复数据的方法详解
主要介绍了Java实现数组去除重复数据的方法,结合实例形式详细分析了java数组去除重复的几种常用方法、实现原理与相关注意事项,需要的朋友可以参考下


VB基础类
