Dim marker As Long = DateTime.Now
Dim values As List
values.Initialize
values.Add(Array As String("1", "2", "3", "4", "5"))
values.Add(Array As String("man", "dog", "cat"))
values.Add(Array As String("cheese", "sprouts"))
values.Add(Array As String("chevy", "ford", "dodge", "lancia"))
Dim results As List = Permutations(values)
Log(DateTime.Now - marker) '<1 msec
'Display results
Dim sb As StringBuilder
For Each a() As Int In results
sb.Initialize
For j = 0 To values.Size - 1
Dim strValues() As String = values.Get(j)
sb.Append(strValues(a(j))).Append(TAB)
Next
Log(sb.ToString)
Next
'1 man cheese chevy
'1 man cheese ford
'1 man cheese dodge
'1 man cheese lancia
'1 man sprouts chevy
'1 man sprouts ford
'1 man sprouts dodge
'1 man sprouts lancia
'1 dog cheese chevy
'.....
'5 cat sprouts lancia