📄 hanio.cls
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -