VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)

VB爱好者乐园(VBGood)

 找回密码
 立即注册
搜索
查看: 14764|回复: 24

擂以赛第25期[VB6版SortList类]

[复制链接]
 楼主| 发表于 2007-1-5 10:13:39 | 显示全部楼层 |阅读模式
擂台赛第25期(2006.01.05)
题目:VB6版SortList类
级别:中级
说明:
1、想法来源于.net中的SortList类。
2、平常使用的数组有很多不足:A、不能方便的自由伸缩;B、难以进行插入和删除操作;C、排序后损失了原有信息;D、很难与另一数组保持
对应关系等。
3、SortList类像是一个增强的哈希表,它在内部维护着两个数组,一个容纳作为映射来源的Key,一个容纳作为映射目标的value。在一个
sortlist中插入一对key/value时,key会插入keys组数的某个位置,以确保keys数组始终处于排好序的状态。然后,value会插入values数组的
相同位置(即它将自动跟踪哪个key从属于哪个value),并充许获取与一个指定的key关联的value。
4、做一个VB6版SortList类。具有以下方法:
   Add(key,value)
   Remove(key)
   Item(Key)  '取与key对应的value
5、Key值不能重复,当有重复值时抛出错误。可遍历SortList的所有元素。
6、key和value的类型,自己定。

请参赛者在跟贴中只附上可执行文件,定稿后将源代码发到
擂台专用信箱:arena@vbgood.com
文件及源码文件名格式:用户名_第几期_第几组_版本.rar

截稿日期:2007.01.19
发表于 2007-1-5 10:49:02 | 显示全部楼层
沙发。。
24没完呢就25了。。。
用一个类来完成操作数组,是不是有点浪费呢?

  网站慢死了。。。

有点不明白了。。
到底是数组还是列表,还是列表型数组?。。。

[ 本帖最后由 PctGL 于 2007-1-5 10:54 编辑 ]
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-5 11:20:03 | 显示全部楼层
原帖由 PctGL 于 2007-1-5 10:49 发表
沙发。。
24没完呢就25了。。。
用一个类来完成操作数组,是不是有点浪费呢?

  网站慢死了。。。

有点不明白了。。
到底是数组还是列表,还是列表型数组?。。。


不用类的话,有什么其它方法可以做到这些呢?
回复 支持 反对

使用道具 举报

发表于 2007-1-5 11:34:11 | 显示全部楼层
那有没维数的限制吗?
Only 1 维吗?
回复 支持 反对

使用道具 举报

发表于 2007-1-5 17:27:34 | 显示全部楼层
越看越像是集合变量...连参数都差不多...
回复 支持 反对

使用道具 举报

发表于 2007-1-5 19:55:21 | 显示全部楼层
哈,我又第一个发!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2007-1-5 23:21:20 | 显示全部楼层
我也发个...不过好像速度有点...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

发表于 2007-1-6 09:40:07 | 显示全部楼层
一定要2个数组吗?
用自定义结构,然后构成一个数组,应该可以的吧...?
回复 支持 反对

使用道具 举报

发表于 2007-1-6 11:20:21 | 显示全部楼层
我没有用数组...用了collection...加上用类做链表...
允许value为任何类型的值...如果是数字则进行插入法排序...排序这步应该还可以优化...
所以add数字速度比较慢...
item和remove的key参数如果是数字则按数字顺序取...如果是字符串则用字符串取...这个和collection一样...
还允许for...each语句...也和collection一样
回复 支持 反对

使用道具 举报

发表于 2007-1-6 11:49:44 | 显示全部楼层
越改越爽的...
以后我再也不用VB的集合了,有这个就够的!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

文字版|手机版|小黑屋|VBGood  

GMT+8, 2022-7-3 17:35

VB爱好者乐园(VBGood)
快速回复 返回顶部 返回列表