长度为n=3,数字序列为 135
结果是 135,153,315,351,513,531。
using System;
using System.Collections.Generic;
namespace ConsoleApplication8
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("请输入数字序列(使用逗号分隔):");
List<string> list=new List<string>();
string[] numStrings = Console.ReadLine().Split(',');//输入的整数数组
for (int i = 0; i < numStrings.Length; i++)
{
list.Add(numStrings[i]);
}
Console.WriteLine("该序列的全排列为:");
Permutation(list, 0, numStrings.Length);
Console.ReadKey();
}
//全排列
public static void Permutation(List<string> list,int begin,int end)
{
if (begin == end)
{
Console.WriteLine(string.Join("",list));
}
for (int i = begin; i < end; i++)
{
Swap(list,begin,i);
Permutation(list,begin+1,end);
Swap(list,begin,i);
//
}
}
//交换
static void Swap(List<string> list, int x, int y)
{
string t = list[x];
list[x] = list[y];
list[y] = t;
}
}
}