VB全排列算法.假设有9个数,123456789,打印所以的排列方式(即9阶乘种).用递归或更好的方法求解.例如:123456789123456798123456879123456897...谢谢大家的热情回答,都不错,“collapsar147”和“ XOooZ”算

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/27 17:23:36
VB全排列算法.假设有9个数,123456789,打印所以的排列方式(即9阶乘种).用递归或更好的方法求解.例如:123456789123456798123456879123456897...谢谢大家的热情回答,都不错,“collapsar147”和“ XOooZ”算

VB全排列算法.假设有9个数,123456789,打印所以的排列方式(即9阶乘种).用递归或更好的方法求解.例如:123456789123456798123456879123456897...谢谢大家的热情回答,都不错,“collapsar147”和“ XOooZ”算
VB全排列算法.
假设有9个数,123456789,打印所以的排列方式(即9阶乘种).用递归或更好的方法求解.
例如:
123456789
123456798
123456879
123456897
.
.
.
谢谢大家的热情回答,都不错,“collapsar147”和“ XOooZ”算法本质是一样的,只能选一个回答,那就给先回答者.

VB全排列算法.假设有9个数,123456789,打印所以的排列方式(即9阶乘种).用递归或更好的方法求解.例如:123456789123456798123456879123456897...谢谢大家的热情回答,都不错,“collapsar147”和“ XOooZ”算

新建一个工程,在窗体上新建一个text1,一个command1,把以下代码复制到工程中运行试试

Option Explicit

Private List() As String

Public index&, tmp$

Private Sub Command1_Click()

    ReDim List(Len(Trim(Form1.Text1.Text)))

    For index = 1 To Len(Trim(Form1.Text1.Text))

        List(index) = Mid(Form1.Text1.Text, index, 1)

    Next index

    Perm List, 1, Len(Trim(Form1.Text1.Text))

End Sub

Private Sub Form_Load()

    Form1.AutoRedraw = True

End Sub

Public Function Swap(ByRef Num1 As String, ByRef Num2 As String) '交换两个数

    tmp = Num1

    Num1 = Num2

    Num2 = tmp

End Function

Public Function Perm(ByRef ListTar() As String, ByVal k As Long, ByVal m As Long)  '全排列函数

    Dim i&

    If k > m Then

        For i = 1 To m

            Print ListTar(i);

        Next i

        Print

    Else

        For i = k To m

            Swap ListTar(k), ListTar(i)

            Perm ListTar, k + 1, m

            Swap ListTar(k), ListTar(i)

        Next i

    End If

End Function

运行效果

VB全排列算法.假设有9个数,123456789,打印所以的排列方式(即9阶乘种).用递归或更好的方法求解.例如:123456789123456798123456879123456897...谢谢大家的热情回答,都不错,“collapsar147”和“ XOooZ”算 如何求M个数的第N个全排列?C语言程序设计的算法? n个数全排列有几个结果RT快 排列组合算法程序用C.C++.asp.或者jsp.vb.随便一种语言.输出1到33.33个数.从中选6个数.不重复.输出所有可能排列.不分顺序.写出完成算法程序.附带注释. VB 计算数组中某一列的元素个数 有什么算法吗,能写代码最好 求一个数的最大公约数和最小公倍数的算法是怎样的?还有对一组数的全排列和全组合算法是怎样的?韵儿榕儿 - 魔法学徒 一级 能不能举例详细说明下欧几里德算法 是怎么样的? 全排列、算法、C语言、递归、求帮忙12345 举例为5个数,按以下顺序排列输出:12、13、14、15123、124、125、132、134、135、142、143、145、152、153、1541234、1235、1243、1245、1253、1254、1324、1325. 假设关键字序列为{9,3,5,1,2,6,4,7,8},用直接选择排序算法对关键字进行排序代码写全,能够运行并有main测试函数直接插入算法 四个数分别是1,2,3,4,选三个,有多少种排列方法,并输出排列顺序,用VB程序写 数据结构中的递归算法问题众所周知 利用递归+fOR循环可以产生任意位数的全排列,但是效率很低.请问有什么算法可以实现不用递归+for循环就可以穷举任意位全排列的呢? 急需数据结构算法:假设有两个元素递增的有序排列线性表A和B,均以单链表作存储结构.试编写算法将A表和B急需数据结构算法C++版:假设有两个元素递增的有序排列线性表A和B,均以单链表作 在12345的全排列a1,a2,a3,a4,a5中满足a1a3,a3a5的排列个数是 Matlab全排列并列出结果Matlab对向量全排列(13个数)进行全排列并列出结果,发现perms()对向量长度有限制,有没有其他方法? 概率 排列数 问题假设 一个盒子中 有M个黑球和N个白球,那么这M+N个白球的排列个数是多少 为什么 说明原因!说错了 问题是 那么这M+N个球的排列个数是多少? 1.输入一个三位整数,将数字位置重新排列,组成一个尽可大的三位数.求vb算法 vb中怎么把一组数从小到大排列起来呢?求帮助假设我的vb里生成了5个随机数,分别存放在a到e中,我怎么把这几个数按照从小到大的顺序排列起来呀? VB编程数据文件里的前10000个数从小到大排列,前5000个数中能被3整除的数的个数 vb,产生10个两位随机整数,用冒泡排序法对10个数升序排列实验书上的填空 实验7-9