科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件基于VB编程的链式存储技术浅析

基于VB编程的链式存储技术浅析

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文讨论了如何在VB编程中实现链式存储技术

作者:刘涛 来源:yesky 2007年10月14日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
三、实例

  下面用线性表作为一个例子说明基本的应用方法。这个线性表用于存储学生数据。在一个标准工程中添加名为student的类模块,为了简单起见,类中的成员均用public声明。代码如下:

Public name As String
Public id As Integer
Public pnext As student

  在同一个标准工程中添加一个名为scollection的类模块如下:

Private length As Integer
Private pfirst As student
Property Get first() As student '获取线性表首指针
 Set first = pfirst
End Property

Property Get l() As Integer '获取线性表长度
 l = length
End Property

Public Sub makeempty() '建立一个空的线性表
 Dim s As New students.name = ""
 s.id = 0
 Set s.pnext = Nothing
 Set pfirst = s
 length = 0
End Sub

Public Sub addstudent(ByVal sn As String, ByVal id As Integer) '向线性表中添加一个数据
 Dim p As student
 Set p = pfirst
 Do While Not p.pnext Is Nothing
  Set p = p.pnext
 Loop
 Set p.pnext = New student
 p.pnext.name = sn
 p.pnext.id = id
 Set p = p.pnext
 Set p.pnext = Nothing
 length = length + 1
End Sub

Public Function search(ByVal id As Integer) As student '在线性表中搜索一个学生数据
 Dim p As student
 Set p = pfirst
 Do While p.id <> id And Not p.pnext Is Nothing
  Set p = p.pnext
 Loop
 If Not p.pnext Is Nothing Then
  Set search = p
 Else Set search = Nothing
 End If
End Function

Public Function delete(ByVal id As Integer) As Boolean '在线性表中删除一个学生数据
 Dim p As student
 Dim cp As student
 Set p = pfirst
 Do While p.id <> id And Not p.pnext Is Nothing
  Set cp = p
  Set p = p.pnext
 Loop
 delete = True
 If Not p.pnext Is Nothing Then
  Set p = p.pnext
  Set cp.pnext = Nothing
  Set cp.pnext = p
  length = length - 1
 Else
  delete = False
 End If
End Function

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章