资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net数组去重 c数组去重复

vb.net去掉重复数组怎么做?

Dim array1() As String

创新互联建站长期为数千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为霸州企业提供专业的成都网站设计、成都做网站,霸州网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

Dim array2() As Boolean

Dim i As Integer

Dim j As Integer

Dim str1 As String = "a,c,c,c,a,b,c,d,f,eee,eee"

array1 = Split(str1, ",")

str1 = ""

ReDim array2(UBound(array1))

For i = 0 To UBound(array1)

array2(i) = False

Next

For i = 0 To UBound(array1) - 1

If array2(i) = False Then

For j = i + 1 To UBound(array1)

If array1(i) = array1(j) And array2(j) = False Then

array2(j) = True

End If

Next j

End If

Next i

For i = 0 To UBound(array1)

If array2(i) = False Then

str1 = str1 array1(i) ","

End If

Next i

If str1 "" Then

str1 = Strings.Left(str1, Len(str1) - 1)

End If

VB.Net去除数组中重复的字符的元素?

比如数组a。里面有5个值,其中有3个是重复的?

如果这样的话,很好办哦。

新建一个数组b,然后遍历要去除的数组a,

从a中把每一个都取出来,和新建的b里面的去比,如果有相同的,则不放入b,

否则就放入数组b,直到循环结束。

VB如何除去数组中相同的数

具体思路:

实现2次循环,一个数组循环2次,外循环数组,得出一个值a,然后内循环,将a与自身所在的数组的值对比一次,计算出现次数或者设置为空,如果计算出现次数可以计算次数大于2时候,进行删除操作。如果设置为空,等于进行删除操作。

具体代码如下:

Option Explicit

Function Delete3(Arr As Variant) As Variant

Dim i As Integer

For i = LBound(Arr) To UBound(Arr)

If i  UBound(Arr) Then Exit For  //累计器大于数组长度,退出循环

If Arr(i) = 3 Then

Do

Dim j As Integer

For j = i To UBound(Arr) - 1   //数组从新赋值

Arr(j) = Arr(j + 1)

Next j

If LBound(Arr) = UBound(Arr) Then

Delete3 = Empty  //删除相同元素

Exit Function

End If

ReDim Preserve Arr(LBound(Arr) To UBound(Arr) - 1)

          //从新定义数组长度

If i  UBound(Arr) Then Exit For  //累计器大于数组长度,退出循环

Loop While Arr(i) = 3

End If

Next i

Delete3 = Arr

End Function

Sub Test()

Delete3 (Array(3, 3, 3, 3, 1, 3, 7, 3, 3, 3, 9, 3, 3))

End Sub

测试结果:验证方式通过计算删除元素后的数组长度确认实现功能,输入了Array(3, 3, 3, 3, 1, 3, 7, 3, 3, 3, 9, 3, 3),长度为13(从1开始算),删除后长度为3,而且只有3个元素是不重复的。说明功能正常。


文章名称:vb.net数组去重 c数组去重复
URL分享:http://cdkjz.cn/article/docdsps.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220