社区
VB基础类
帖子详情
请教VB如何实现链表?
seeku
2003-05-08 10:01:15
我要保存大量的,不定数量的结构类型的信息,
如果是使用C,我就会使用链表,不知道VB怎么来实现?
听说VB的数组是可变长度的,不知道怎么做的
谢谢(刚刚尝到VB快速开发的甜头,却发现。。。)
...全文
187
11
打赏
收藏
请教VB如何实现链表?
我要保存大量的,不定数量的结构类型的信息, 如果是使用C,我就会使用链表,不知道VB怎么来实现? 听说VB的数组是可变长度的,不知道怎么做的 谢谢(刚刚尝到VB快速开发的甜头,却发现。。。)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
11 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
richardbao
2003-05-10
打赏
举报
回复
不行的,VB的数组如果缩短,只能去除最后的元素。我是老早做的 VB 链表,现在早忘了,源码也没有了,但是我当时好像是这么干的:
把元素 0 空出来做链表头,如果某元素的索引指向 0 元素,就说明这个元素是空的,可以放数据,如果不是指向 0,说明已经被使用。我当时专门有一个函数用来返回数组中第一个可以使用的元素变量。
总体效果还是差不多的,至少我认为。
seeku
2003-05-09
打赏
举报
回复
突然想到一个问题,如果我想删除(richardbao(Richard Bao)谈到的)链表的中间的某个变量,不知道VB能否释放内存?
seeku
2003-05-09
打赏
举报
回复
谢谢两位,尤其richardbao(Richard Bao)的算法比较妙,
只是有点古怪
呵呵
richardbao
2003-05-09
打赏
举报
回复
忘了说,VB 里声明数组:
Dim MyArr(8) As Integer
事实上定义了 9 个变量,你可以自己试试,从 MyArr(0) 到 MyArr(8)。
richardbao
2003-05-09
打赏
举报
回复
先告诉你 VB 数组变长要加 Preserve 才会保留数据,不要还没有弄清楚就乱骂 VB。
Dim MyArr(n) As Integer
Redim Preserve MyArr(m)
至于链表,我的方法是这样,仿照 C 的方法先定义一个类型
Type LinkTable
Data As ...
NextIndex As Long
End Type
然后建立一个数组用来放数据:
Dim LinkedData(...) As LinkTable
然后你就像 C 一样的用嘛,NextIndex 里面不要放地址指针,放数据的下标索引不就可以了?效果差不多的,就是代码看起来没有 C 那么爽而已!
seeku
2003-05-08
打赏
举报
回复
的确要看看书,我学VB是半路出家,没有系统学习过
高一的时候学过BASIC,呵呵
xayzmb
2003-05-08
打赏
举报
回复
自已笨不要怪别人....
呵呵
^_^
去查书吧.
seeku
2003-05-08
打赏
举报
回复
经过测试,redim会把数组的内容清空
Dim lArr() As Long
ReDim lArr(5)
For i = 0 To 4
lArr(i) = i
Next i
ReDim lArr(8)
lArr(5) = lArr(0)
lArr(6) = lArr(3)
lArr(7) = lArr(4)
现在lArr的8个值都是0了
什么变长啊,都是骗人的
MSSQL
2003-05-08
打赏
举报
回复
dim arr() as yourtype
.
.
.
.
.
redim arr(n)
lihonggen0
2003-05-08
打赏
举报
回复
http://www.csdn.net/Develop/Read_Article.asp?Id=16430
循环链表以及相关操作(VB实现)
seeku
2003-05-08
打赏
举报
回复
数组我应该搞定了,使用数组也可以完成我要的效果,只是不知道效率如何。
我的第一个问题有没有人会啊?
用VB怎么做链表?
如何表示指针变量?如果根据指针变量取得内容?
如果VB连这个都做不了,如何实现更复杂的数据结构啊?
vb
/
vb
.net开发精粹(3)
请教
VB
6.0+数据库的问题!请各位高手指教! 用
VB
A能否
实现
对WORD登陆密码的修改? 这两个字符串 为什么无法链接到一起???? 去掉一位数组中包含的另一个数组的值 串口接受的数据如何处理??????????????
VB
6 CELL控件的问题,CELL的
VB
如何只读取字符串中的数字部分??
逐个字符判断,是否为 "+-0123456789." 中的一个,取出连续的数值部分问题不明确啊 比如: dim s as string dim v as long s="123abc456efg" 如果你只要123,那么有现成的函数: v=val(s) 如果你要123456,如老鸟所言,逐个字符判断,或者用正则 遍历~Private Sub Command1_C...
vb
/
vb
.net开发精粹(4)
各位帮忙 找一个w70n5msg.dll 文件 VB中如何使用insert语句,插入一条纪录 分布式组件状态问题 在
VB
6.0中 使用SQLDMO.SQLServer 显示数据库名称出错啦, 请大家指点一下 在
VB
控制水晶报表中,用不固定的数据源,运行
vb
/
vb
.net原创文章精粹(3)
[url=http://www.
vb
baike.com/show.asp?id=101350]
请教
VB
6.0+数据库的问题!请各位高手指教![/url] [url=http://www.
vb
baike.com/show.asp?id=101349]用
VB
A能否
实现
对WORD登陆密码的修改?[/url] [url=http://www.
vb
baike.com/show.asp?...
VB
+ADO+Access如何修改数据
我把用adodc1绑定了表Case,并在窗体中用几个Text跟表Case中的对应字段相绑定,我现在想直接通过修改Text(i).text来修改数据库表Case中的记录,问该如何修改,大侠们可否提供一下建议,并帮忙看看我的问题出在哪儿 Private Sub EditSave
VB基础类
7,785
社区成员
197,585
社区内容
发帖
与我相关
我的任务
VB基础类
VB 基础类
复制链接
扫一扫
分享
社区描述
VB 基础类
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章