vb.net – 在VB .NET中生成所有实际组合

vb.net – 在VB .NET中生成所有实际组合,第1张

概述我需要在VB .NET中生成所有组合(而不是排列),我一直在搜索,我发现的只是排列(有些人说组合,但是当我尝试它时,所有都是排列). 我需要的是从字符串数组生成组合: Dim data_array As String() = {"one", "two", "three", "four", "five", "six"} 我需要它: 如果我只说一个长度,它必须返回: onetwothreefou 我需要在VB .NET中生成所有组合(而不是排列),我一直在搜索,我发现的只是排列(有些人说组合,但是当我尝试它时,所有都是排列).

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

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

我需要它:

如果我只说一个长度,它必须返回:

onetwothreefourfivesix

如果我说2长度,它必须回复:

oneoneonetwoonethreeonefour... etc ...twoonetwotwotwothree... etc ...

并继续使用所有组合结束.

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

解决方法 你说你想生成所有组合,但它看起来像是试图生成所有排列.

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

Public Class Form1    Dim data_array As String() = {"one","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    NextEnd SubPrivate Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load    Permute("",2,buffer)End SubEnd Class
总结

以上是内存溢出为你收集整理的vb.net – 在VB .NET中生成所有实际组合全部内容,希望文章能够帮你解决vb.net – 在VB .NET中生成所有实际组合所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1232933.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存