hanio.cls

来自「用Visual Basical写的汉诺塔源代码。」· CLS 代码 · 共 42 行

CLS
42
字号
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "Hanio"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Private Num As Integer
Private X As String
Private Y As String
Private Z As String
Private R As ListTable
Private Sub Class_Initialize()
    Set R = New ListTable
End Sub
Private Sub Move(ByVal X As String, ByVal Y As String)
Dim E As New ElemType
E.SetSource = X
E.SetTarget = Y
R.Append E
End Sub
'真正的递归程序
Private Sub TheHanio(ByVal n As Integer, X As String, Y As String, Z As String)
    If n = 1 Then
        Move X, Z
    Else
        TheHanio n - 1, X, Z, Y
        Move X, Z
        TheHanio n - 1, Y, X, Z
    End If
End Sub
Public Function MoveHanio(ByVal n As Integer, X As String, Y As String, Z As String) As ListTable
    TheHanio n, X, Y, Z
    Set MoveHanio = R
End Function

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?