Torna al Thread
Module Module1
Public Sub process(ByVal subset As Array)
Console.WriteLine(subset.ToString)
End Sub
Public Sub processLargerSubsets(ByRef xset As Array, ByRef subset As Array, ByVal subsetSize As Integer, ByVal nextIndex As Integer)
If subsetSize = subset.Length Then
process(subset)
Else
For j As Integer = nextIndex To xset.Length - 1
subset(subsetSize) = xset(j)
processLargerSubsets(xset, subset, subsetSize + 1, j + 1)
Next j
End If
End Sub
Public Sub processSubsets(ByRef xset As Array, ByVal k As Integer)
Dim subset As Array = Array.CreateInstance(GetType(Integer), k)
processLargerSubsets(xset, subset, 0, 0)
End Sub
Sub Main()
Dim nset As Array = Array.CreateInstance(GetType(Integer), 20)
For k As Integer = 0 To 19
nset(k) = k + 1
Next k
processSubsets(nset, 3)
End Sub
End Module