VB6 二维数组去重实现
关于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 二维数组去重实现的更多相关文章
- PHP二维数组去重(指定键名)
本例对二维数组中某个指定键名进行去重,发现网上大多使用array_unique或是foreach遍历等方式去重,效果不佳且较为繁琐. 本文以二维数组去重为引,介绍array_column函数的三种用法 ...
- php二维数组去重
php二维数组去重 前言:php一维数组去重很简单,直接array_unique($arr)即可,但是二维数组去重就得自己去写了 二维数组去重方法: /* * 二维数组去重 * 注意:二维数组中的元素 ...
- 如何使用python将二维数组去重呢?
二维数组的去重,能和一维的方法类似吗?import numpyc=np.array(((1,2),(3,4),(5,6),(7,8),(7,8),(3,4),(1,2)))print('二维数组:\n ...
- np.unique()对一维和二维数组去重
numpy.unique(ar, return_index=False, return_inverse=False, return_counts=False, axis=None)[source] 一 ...
- PHP 二维数组去重(保留各个键值的同时去除重复的项)
对于如下二维数组,要求对其进行去重: $arr = array( '=>array( 'name'=>'james', , ), '=>array( 'name'=>'susu ...
- PHP 二维数组去重方法
php二维数组的去重策略,如果需要根据某字段去重(其他字段可能不一致),那么需要使用循环策略,如果去重的都是相同的(字段,值),那么可以用序列化方式. $allComments = array_map ...
- PHP使用array_unique对二维数组去重处理
去重,点这里,东西是好东西,就是有点懒.莫见怪
- php 一行代码解决二维数组去重
array_unique($array, SORT_REGULAR);
- php 二维数组去重
function remove_duplicate($array){ $result=array(); foreach ($array as $key => $value) { $has = f ...
随机推荐
- DNS缓存服务器与转发服务器
DNS缓存服务器与转发服务器 什么是缓存服务器(cache-only) 缓存服务器只需要根区域解析库文件,不包含任何其它区域解析库文件,这样的服务器就叫着缓存服务器.这样的服务器只有缓存搜寻结果的功能 ...
- nil和Nil及NULL的区别(仅作记录)
今天在研究红黑树的时候一直提到一个NIL节点,百度了一下,这里仅作记录 nil是一个对象值,如果要把一个对象设置为空的时候就用nil.Nil是一个类对象的值,如果要把一个Class类型的对象设置为空的 ...
- DDS生成正弦波
DDS生成正弦波 `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////// ...
- html5课件外包-----swf/AS2/AS3/fla/ppt课件如何转换为html5交互课件/动画
随着Adobe公司公布2020年将不再更新和维护flash,flash逐渐被html5取代,很多教育机构都在面临着如何将自己的flash交互课件产品转换到html5版本的问题,最近遇到非常多的客户一上 ...
- 安装virtualbox须知
sudo usermod -a -G vboxusers `whoami`
- VUE开发
待完善... Node.js 参考文档:http://nodejs.cn/ Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个 ...
- 酒店web认证802.11x+ROS共享NAT上网
网络环境: 维也纳酒店-上网方式 web认证上网(wifi有线) 设备-ROS RB952Ui-5AC2ND一台笔记本电脑一台 web认证的三个特征,我们下面ROS的设置就是为了满足下面三个条件来分布 ...
- LINUX FTPshez
https://www.jb51.net/article/132337.htm FTPQ重启: service vsftpd restart
- JAVA 中BIO,NIO,AIO的理解 (转)
转自: http://qindongliang.iteye.com/blog/2018539 另外类似可参考资料 :http://www.360doc.com/content/13/1029/20/9 ...
- Unity Post-Processing的一些分享
讲些什么? 绝大多数的游戏或多或少都会使用些后处理效果. 早期版本中,Unity在提供的接口有限,优化空间不大,属于放任自流.官方推出了Post-Processing(下文简称PP)并在Github上 ...