1 全排列
写一个函数, 如 angram(String str), 打印出 str 的全排列,如 abc 的全排列: abc, acb, bca,
dac, cab, cba
1.1 递归实现
为方便起见,用123来示例下。123的全排列有123、132、213、231、312、321这六种。首先考虑213和321这二个数是如何得出的。显然这二个都是123中的1与后面两数交换得到的。然后可以将123的第二个数和每三个数交换得到132。同理可以根据213和321来得231和312。因此可以知道——全排列就是从第一个数字起每个数分别与它后面的数字交换。找到这个规律后,递归步骤如下:
1)确定第一个位置 :第一个元素分......
阅读全文