关于VB6的二维数组去重算法实现

当然,这里还是有局限性,当我们的数组被填满了各个不同的值时,例如下方 700*700 = 490000 就要While49万次,这谁受得了?

所以以下仅适合小规模使用 千次计算量以内可以考虑:

'//InkHin_190310
'// 求改进指导。 Option Explicit Public Function C_StringValue(ByRef Value() As String, ByRef rValue() As Long)
ReDim Value( To , To ) As String
Dim y As Integer, x As Integer
For y = To
For x = To
Value(x, y) = CStr(rValue(x, y))
Next
Next
'Value 初始化默认值 = 0
Value(, ) = ""
Value(, ) = ""
Value(, ) = ""
Value(, ) = ""
Value(, ) = ""
Value(, ) = ""
Value(, ) = ""
End Function Public Function C_classification(ByRef rValue() As Long, ByRef Classification() As Long) As Long Dim y As Integer, x As Integer, i As Long, i2 As Integer
'//
Dim y2 As Integer, x2 As Integer, C As Boolean
'Dim Classification() as Long
Dim Value() As String
ReDim rValue( To , To )
Call C_StringValue(Value(), rValue()) 'to String ReDim Classification() As Long
y2 = : x2 = : i2 = : C = True Classification() = Value(, )
While C
For i = i2 To UBound(Classification())
C = False
For y = To
For x = To
If Value(x, y) <> "" Then ' a==b
If Value(x, y) = CStr(Classification(i)) Then
Value(x, y) = ""
Else
If Not C Then
y2 = y
x2 = x
i2 = i2 + 'i++
C = True
End If
End If
End If
Next
Next
If C Then
ReDim Preserve Classification(UBound(Classification()) + ) As Long
Classification(UBound(Classification())) = Value(x2, y2)
End If
Next
Wend
For i = To UBound(Classification())
MsgBox "位置:【" & CStr(i) & "】 :" & Classification(i)
Next
C_classification = UBound(Classification()) +
MsgBox "一共有:" & C_classification & "个值."
End Function Private Sub Command1_Click()
Dim a_C() As Long, a() As Long
Call C_classification(a(), a_C())
End Sub

VB6 二维数组去重实现的更多相关文章

  1. PHP二维数组去重(指定键名)

    本例对二维数组中某个指定键名进行去重,发现网上大多使用array_unique或是foreach遍历等方式去重,效果不佳且较为繁琐. 本文以二维数组去重为引,介绍array_column函数的三种用法 ...

  2. php二维数组去重

    php二维数组去重 前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组去重就得自己去写了 二维数组去重方法: /* * 二维数组去重 * 注意:二维数组中的元素 ...

  3. 如何使用python将二维数组去重呢?

    二维数组的去重,能和一维的方法类似吗?import numpyc=np.array(((1,2),(3,4),(5,6),(7,8),(7,8),(3,4),(1,2)))print('二维数组:\n ...

  4. np.unique()对一维和二维数组去重

    numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)[source] 一 ...

  5. PHP 二维数组去重(保留各个键值的同时去除重复的项)

    对于如下二维数组,要求对其进行去重: $arr = array( '=>array( 'name'=>'james', , ), '=>array( 'name'=>'susu ...

  6. PHP 二维数组去重方法

    php二维数组的去重策略,如果需要根据某字段去重(其他字段可能不一致),那么需要使用循环策略,如果去重的都是相同的(字段,值),那么可以用序列化方式. $allComments = array_map ...

  7. PHP使用array_unique对二维数组去重处理

    去重,点这里,东西是好东西,就是有点懒.莫见怪

  8. php 一行代码解决二维数组去重

    array_unique($array, SORT_REGULAR);

  9. php 二维数组去重

    function remove_duplicate($array){ $result=array(); foreach ($array as $key => $value) { $has = f ...

随机推荐

  1. Spring BOOT的学习笔记

    1,静态文件夹src/main/resources/static下的,图片必须放在images文件夹下才能访问,直接放在static下不能访问 2,配置热部署,否则修改下Html,图片都得重启 htt ...

  2. day01知识点

    1.计算机基础 2.Python的历史 3.编码语言分类     Python是一门动态解释性的强制类型定义语言 4.Python的解释器种类 5.变量     法律规则:字母,数字,下划线(数字不能 ...

  3. Kafka入门 --安装和简单实用

    一.安装Zookeeper 参考: Zookeeper的下载.安装和启动 Zookeeper 集群搭建--单机伪分布式集群 二.下载Kafka 进入http://kafka.apache.org/do ...

  4. Linux colrm命令详解

    Linux colrm命令 colrm用于从文件或标准输入中过滤掉指定的列.从标准输入设备读取书记,转而输出到标准输出设备.如果不加任何参数,则该指令不会过滤任何一行. 语法: colrm 参数 参数 ...

  5. [转]Linux中python3.6+ipython+Jupyter Notebook环境

    python3.6安装 下载python安装包,这里下载的最新的3.6.1版本 https://www.python.org/ftp/python/3.6.1/ 将安装包上传到服务器并解压 tar z ...

  6. 关于DDS的基础知识

    关于DDS的基础知识 声明:这篇博客是我抄别人的,为什么想抄呢,因为他把DDS中的核心部件,相位累加器以及正弦ROM查找表寻址讲得明明白白,我真的好想把这篇文章据为己有. DDS是直接数字式频率合成器 ...

  7. vue中的组件化

    组件化 1.定义全局组件 1.要在父实例中使用某个组件,组件必须在实例值之前定义2.组件其实也是一个Vue实例,因此它在定义时也会接收:data.methond.生命周期函数等3.不同的组件不会与页面 ...

  8. FASTMM内存泄漏处理

    https://blog.csdn.net/akof1314/article/details/6524767

  9. 服务器变更IP地址后SSH链接失败的解决办法

    客户端未变,服务器端变更IP地址,导致客户端链接失败,这种情况提示如下: 原因是服务器端更改IP地址后,秘钥也需更新 在客户端输入以下格式的命令: ssh-keygen-f"/home/用户 ...

  10. 在socket的server端处理client端发来的数据

    一.楔子 最近做了一个需求遇到一个坑,归结成一个小问题,其实就是在socket的server端处理client端发来的数据的问题,现将这个问题总结一下,本文将数据在server端以字典的形式存储. 另 ...