如何以迭代和递归的方式打印String的所有排列? VB.NET

时间:2012-06-07 20:09:44

标签: vb.net string

任何人都可以帮助我如何以迭代和递归的方式打印String的所有排列?我更喜欢VB.NET或只是伪代码。

提前致谢。

1 个答案:

答案 0 :(得分:3)

递归方法如下:

基本情况: 1个字母的排列是一个元素。

一般情况: 一组字母的排列是每个字母的列表,与其他字母的每个排列连接。

说明:

如果该套装只有一个字母,则返回该字母。 置换(a) - >一个

如果集合有两个字母,则每个字母都会返回它,并返回其余字母的排列。

置换(ab) - >

a +置换(b) - > AB

b +置换(a) - > BA

对于集合中的每个字母,将该字母连接到其余字母集合中。

置换(abc) - >

a +置换(bc) - > abc,acb

b +置换(ac) - > bac,bca

c +置换(ab) - >驾驶室,cba