大侠们帮我看看!我有一简单数组,删除元素用什么算法最好呢?
dim xxx
dim Temp
xxx = Array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
Temp = Array(3,6,14,1,5,18)
Temp数组中的元素是随机的,但范围在1-20间,也就是XXX的子集
要求xxx删除temp中的元素,得到新的一个数组···
怎样的算法最好?
我用算法比较差,用了 词典 dim xxx As New Dictionary ,添加修改都非常方便。
但人家都说数组存储快,上面20个元素只是举例子,事实不止20个···
[解决办法]
要是链表不用移动数据还可以,要是移动数据就不好了!
xxx = Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
Temp = Array(3, 6, 14, 1, 5, 18)
dim newxxx() as integer
for i = 0 to ubound(Temp)
xxx(Temp(i)-1)= 0
next
redim newxxx(20-ubound(temp)) as integer
dim Count as integer
for i = 0 to 19
if xxx(i) <> 0 then
newxxx(count) = xxx(i)
count++
end if
next