gpt4 book ai didi

vb.net - 在 VB .NET 中生成所有实数组合

转载 作者:行者123 更新时间:2023-12-04 02:00:11 24 4
gpt4 key购买 nike

我需要在 VB .NET 中生成所有组合(不是排列),我一直在搜索,我发现的只是排列(有些说是组合,但当我尝试时,所有都是排列)。

我需要的是从字符串数组生成组合:

Dim data_array As String() = {"one", "two", "three", "four", "five", "six"}

我需要它:

如果我只说 1 个长度,它必须返回:
one
two
three
four
five
six

如果我说 2 长度,它必须返回:
oneone
onetwo
onethree
onefour
... etc ...
twoone
twotwo
twothree
... etc ...

并继续直到所有组合结束。

如果我说更多的长度也这样做。

最佳答案

您说您想生成所有组合,但在我看来,您想生成所有排列。

如果您愿意,您可以尝试递归地执行此操作。如果您只想生成组合,则在追加之前测试 Root 参数以查看它是否包含 myStr。

Public Class Form1
Dim data_array As String() = {"one", "two", "three", "four", "five", "six"}
Dim buffer As New List(Of String)

Public Sub Permute(ByVal Root As String, ByVal Depth As Integer, ByVal Buffer As List(Of String))

For Each myStr As String In data_array

If Depth <= 1 Then
Buffer.Add(Root + myStr)
Else
Permute(Root + myStr, Depth - 1, Buffer)
End If

Next

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Permute("", 2, buffer)
End Sub
End Class

关于vb.net - 在 VB .NET 中生成所有实数组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9976215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com