VB中两组字符型数组比较

来源:百度知道 编辑:UC知道 时间:2024/05/17 16:11:57
两组1维字符型数组,请问如何快速的比较两组数组,并分别输出相同数据和不同数据,请给一个思路,运算速度要快一些
实例如下:
a(1)="张一" b(1)="张一"
a(2)="张二" b(2)="张二"
a(3)="张三" b(3)="张三"
a(4)="张四" b(4)="张四"
a(5)="张四" b(5)="张五"
a(6)="张一" b(6)="张六"
a(7)="张三" b(7)="张七"
等等...

a数组的数据约有15万左右,有很多重复的姓名数据,且姓名都包含在b数组中,
b数组的数据约有10万左右,为全部的姓名(比a数组的姓名多),没有重复的姓名,
分别输出相同的姓名,和不同的姓名

积分全部赠送,万分感谢
分别输出就是 相同的姓名和不同的姓名分别输出为两个不同名字的数组,也可输出两个不同的TXT文件,谢谢 因为对数据库不熟悉,所以请多多指教

给你个思路,用数据库技术,把A和B当做两个表全部写入数据库,然后执行SQL查询
数据库写入
rs.open "select * from a",conn,1,3
for i=1 to UBound(a)
rs.add
rs("a")=a(i)
rs.update
next i
rs.close

adors.open "select * from b",conn,1,3
for i=1 to UBound(b)
adors.add
adors("b")=b(i)
adors.update
next i
adors.close

后面你需要什么样的结果,什么是“分别输出相同的姓名,和不同的姓名”我不太理解,你先补充一下我再写给你!

你HI我吧,我帮你写!你说的要求我还是不明白,是求B数组中含有和不含有A数组中人名的么?

如果是那样,相同的人名
rs.open "select 姓名 from a表 group by 姓名",conn,1,3
open "c:\相同人名.txt" for output as #1
while not rs.eof
print #1,rs("姓名")
rs.movenext
wend
rs.close
close #1

rs.open "select 姓名 from b where 姓名 not in (select 姓名 from a group by 姓名)",conn,1,3
open "c:\不相同人名.txt" for output as #1
while not rs.eof
print #1,rs("姓名")