class Program
{
static void Main(string[] args)
{
List<int> list_int = new List<int>() { 1, 2, 3, 4 };
Permutation(list_int,"");
Console.Read();
}
/// <summary>
/// 排列
/// 先取出一个数,把剩下的数再进行递归,再取出其中一个数,再进行递归,直到数组只剩下一个数
/// </summary>
/// <param name="list"></param>
/// <param name="str"></param>
public static void Permutation(List<int> list, string str)
{
for (int i = 0; i < list.Count; i++)
{
string ss = list[i] + " ";
if (list.Count > 1)
{
List<int> li = new List<int>();
li.AddRange(list);
li.RemoveAt(i);
Permutation(li, str + ss);
}
else
{
Console.WriteLine(str + ss);
}
}
}
}
01-12
2685