如何用VB求组合的算法

来源:百度知道 编辑:UC知道 时间:2024/06/07 17:49:09
例如从1,2,3,4,5中选出3个数字所有组合算法。
1,2,3 1,2,4 1,2,5 ……

如何求从M个数中取出N个数的组合算法。

Option Explicit

Sub GetList(ByRef DataArray() As Integer, ByRef List() As Integer, ByVal Pos As Integer)
Dim L As Integer, H As Integer, LL As Integer, HH As Integer
Dim D() As Integer
Dim i As Integer
Dim j As Integer
L = LBound(DataArray)
H = UBound(DataArray)
LL = LBound(List)
HH = UBound(List)
If Pos = HH Then
List(Pos) = DataArray(L)
For i = LL To HH
Print List(i);
Next i
Print
Exit Sub
End If
ReDim D(L To H - 1) As Integer

For i = L To H
List(Pos) = DataArray(i)
For j = L To i - 1
D(j) = DataArray(j)
Next j
For j = i + 1 To H
D(j - 1) = DataArray(j)
Next j
GetList D, List, Pos + 1
Next i

End Sub

Private Sub Command1_Click()