Function dgCombinate(n As Integer)
Dim cFather: cFather = 2 ^ n - 1
Dim ArrFather: ReDim ArrFather(1 To cFather)
If n = 1 Then
ArrFather(n) = "," & n
dgCombinate = ArrFather
Else
Dim cSon: cSon = 2 ^ (n - 1) - 1
Dim ArrSon: ArrSon = dgCombinate(n - 1)
Dim j
For j = 1 To cSon
ArrFather(j) = ArrSon(j)
ArrFather(cSon + 1 + j) = ArrSon(j) & "," & n
Next
ArrFather(cSon + 1) = "," & n
dgCombinate = ArrFather
End If
End Function
本文介绍了一个用于生成所有可能的组合序列的算法实现。该算法通过递归方式构建组合,适用于需要遍历所有组合情况的问题场景。

被折叠的 条评论
为什么被折叠?



