VB静态链表
Dim av As Integer, s As Integer, p As Integer, h As Integer
Private Type node data As Integer next As Integer End Type: Dim nodepool(100) As node Private Sub cmd1_Click() creatnode Text1.Text = "" Text1.SetFocus cmd3_Click End Sub Private Sub cmd2_Click() delnode (Val(Text3.Text)) Text3.Text = "" Text3.SetFocus cmd3_Click End Sub Private Sub cmd3_Click() Text2.Text = "" printlist End Sub Private Sub Form_Load() initialav s = getnode h = s p = s nodepool(p).next = 1 End Sub Sub initialav() Dim i As Integer For i = 0 To 98 j = i + 1 nodepool(i).next = j nodepool(99).next = -1 av = 1 Next i End Sub Function getnode() As Integer If av = -1 Then getnode = -1 Else getnode = av av = nodepool(av).next End If End Function Sub freenode(p As Integer) nodepool(p).next = av av = p End Sub Sub creatnode() s = getnode nodepool(s).data = Val(Text1.Text) nodepool(p).next = s p = s nodepool(p).next = -1 End Sub Sub printlist() Dim k As Integer k = nodepool(h).next While nodepool(k).next <> -1 Text2.Text = Text2.Text + Str$(nodepool(k).data) + "->" k = nodepool(k).next Wend Text2.Text = Text2.Text + Str$(nodepool(k).data) End Sub Sub delnode(a As Integer) Dim i As Integer, b As Integer, k As Integer i = h b = 0 While nodepool(i).next <> -1 And b < a - 1 i = nodepool(i).next b = b + 1 Wend k = nodepool(i).next nodepool(i).next = nodepool(k).next freenode (k) End Sub |
VB静态链表
最新推荐文章于 2022-05-14 09:53:18 发布