求各位大俠,怎麼刪除數組中的項~??急,急,急

其实你看不见我 2004-04-03 11:24:30
问题是这样的,在数组里有一些项的值相同,我要把有重复的值的项删除,其它的项保留,请问有甚么简单的方法~?救救小弟阿
...全文
59 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
謝了,各位~~~~~!!!!!!!
northwolves 2004-04-03
  • 打赏
  • 举报
回复
利用集合的关键字的唯一性:

Private Sub Command1_Click()
Dim x(100) As String
For i = 0 To 100
x(i) = Chr(i Mod 26 + 65)
Next
MsgBox Join(x, ",")
MsgBox Join(filtera(x), ",")
End Sub
Function filtera(ByRef a() As String)
On Error Resume Next
Dim x As New Collection, b() As String
Dim i As Long
For i = LBound(a) To UBound(a)
x.Add a(i), a(i)
Next
ReDim b(1 To x.Count)
For i = 1 To x.Count
b(i) = x(i)
Next
filtera = b
Erase b
Set x = Nothing
End Function
CALG 2004-04-03
  • 打赏
  • 举报
回复
问题是这样的,在数组里有一些项的值相同,我要把有重复的值的项删除,其它的项保留,请问有甚么简单的方法~?救救小弟阿
'--------------------------------
1.先将数组排序.
2.用一个FOR循环搞定.
如:
Private Sub Command1_Click()
Dim StrArr() As String
Dim I As Long
Dim NewArr() As String
Dim ID As Long
Dim OleVal As String

'排序
Call StrSortZA(StrArr, LBound(StrArr), UBound(StrArr))

'处理重复字符串.
For I = LBound(StrArr) To UBound(StrArr)
If I = LBound(StrArr) Or OleVal <> StrArr(I) Then
ID = ID + 1
ReDim Preserve NewArr(ID)
NewArr(ID - 1) = StrArr(I)
End If
OleVal = StrArr(I)
Next

'打印新值.
For I = LBound(NewArr) To UBound(NewArr)
Debug.Print NewArr(I)
Next
End Sub

'字符串排序函数
Public Sub StrSortZA(ByRef sArr() As String, First As Long, Last As Long)
Dim vSplit As String, vT As String
Dim I As Long, j As Long, iRand As Long

If First < Last Then
If Last - First = 1 Then
If sArr(First) < sArr(Last) Then
vT = sArr(First): sArr(First) = sArr(Last): sArr(Last) = vT
End If
Else
iRand = Int(First + (Rnd * (Last - First + 1)))
vT = sArr(Last): sArr(Last) = sArr(iRand): sArr(iRand) = vT
vSplit = sArr(Last)
Do
I = First: j = Last
Do While (I < j) And (sArr(I) >= vSplit)
I = I + 1
Loop
Do While (j > I) And (sArr(j) <= vSplit)
j = j - 1
Loop

If I < j Then
vT = sArr(I): sArr(I) = sArr(j): sArr(j) = vT
End If
Loop While I < j

vT = sArr(I): sArr(I) = sArr(Last): sArr(Last) = vT

If (I - First) < (Last - I) Then
StrSortZA sArr(), First, I - 1
StrSortZA sArr(), I + 1, Last
Else
StrSortZA sArr(), I + 1, Last
StrSortZA sArr(), First, I - 1
End If
End If
End If
End Sub
射天狼 2004-04-03
  • 打赏
  • 举报
回复
放到数据库里用SELECT DISTINCT FIELD FROM TABLE~~~~

SQL语句是高效的,把数组里的数据导入到数据库里就不怎么高效了!!
还是自己写好,不知道SQL语句的这个算法怎么写的~!!
liyan010 2004-04-03
  • 打赏
  • 举报
回复
up
zyl910 2004-04-03
  • 打赏
  • 举报
回复
单纯的删除操作是很基础的“数据结构”问题
将后面的项目复制到前面来
For i=iDel To MaxIdx-1
arr(i)=arr(i+1)
Next i


至于高效的删除重复项的算法,那有点难度了
你想当“李逍遥”式的“大侠”吗? 这里无需计算机基础,无需编程经验,你也不必是计算机专业的在校大学生....只要爱好游戏,怀揣梦想! 有一定自主学习能力,跟着刘老师从“编程小白”修炼为游戏研发“大虾”吧!!!学习好Unity,其先决条件是一定要有稳固、扎实的编程基础!课程 《C# For Unity系列之入门篇》配套学习资料链接:http://pan.baidu.com/s/1gflxreN 密码:sou5;刘老师讲Unity学员群(2) 497429806一、热更新系列(技术含量:高级):A:《lua热更新技术级篇》https://edu.csdn.net/course/detail/27087B:《热更新框架设计之Xlua基础视频课程》https://edu.csdn.net/course/detail/27110C:《热更新框架设计之热更流程与热补丁技术》https://edu.csdn.net/course/detail/27118D:《热更新框架设计之客户端热更框架(上)》https://edu.csdn.net/course/detail/27132E:《热更新框架设计之客户端热更框架()》https://edu.csdn.net/course/detail/27135F:《热更新框架设计之客户端热更框架(下)》https://edu.csdn.net/course/detail/27136二:框架设计系列(技术含量:级): A:《游戏UI界面框架设计系列视频课程》https://edu.csdn.net/course/detail/27142B:《Unity客户端框架设计PureMVC篇视频课程(上)》https://edu.csdn.net/course/detail/27172C:《Unity客户端框架设计PureMVC篇视频课程(下)》https://edu.csdn.net/course/detail/27173D:《AssetBundle框架设计_框架篇视频课程》https://edu.csdn.net/course/detail/27169三、Unity脚本从入门到精通(技术含量:初级)A:《C# For Unity系列之入门篇》https://edu.csdn.net/course/detail/4560B:《C# For Unity系列之基础篇》https://edu.csdn.net/course/detail/4595C: 《C# For Unity系列之级篇》https://edu.csdn.net/course/detail/24422D:《C# For Unity系列之进阶篇》https://edu.csdn.net/course/detail/24465四、虚拟现实(VR)与增强现实(AR):(技术含量:初级)A:《虚拟现实之汽车仿真模拟系统 》https://edu.csdn.net/course/detail/26618五、Unity基础课程系列(技术含量:初级) A:《台球游戏与FlappyBirds—Unity快速入门系列视频课程(第1部)》 https://edu.csdn.net/course/detail/24643B:《太空射击与移动端发布技术-Unity快速入门系列视频课程(第2部)》https://edu.csdn.net/course/detail/24645 C:《Unity ECS(二) 小试牛刀》https://edu.csdn.net/course/detail/27096六、Unity ARPG课程(技术含量:初级):A:《MMOARPG地下守护神_单机版实战视频课程(上部)》https://edu.csdn.net/course/detail/24965B:《MMOARPG地下守护神_单机版实战视频课程(部)》https://edu.csdn.net/course/detail/24968C:《MMOARPG地下守护神_单机版实战视频课程(下部)》https://edu.csdn.net/course/detail/24979

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧