输入任意字符串如:“sale”
后打印出字符串中的排列组合,代码如下
private void button1_Click(object sender, EventArgs e)
{
string str = textBox1.Text;
printSZ(str, "");
}
public void printSZ(string SZ, string printsz)
{
if (SZ.Length == 0)
{
textBox2.Text = textBox2.Text + printsz + ", ";
}
else
{
for(int i = 0; i< SZ.Length; i++)
{
printSZ(SZ.Substring(0, i) + SZ.Substring(i + 1, SZ.Length - i - 1), printsz + SZ.Substring(i, 1));
}
}
}
打印结果:
sale, sael, slae, slea, seal, sela, asle, asel, alse, ales, aesl, aels, lsae, lsea, lase, laes, lesa, leas, esal, esla, easl, eals, elsa, elas,