也是面試題,如何生成從1~n這n個數的所有的排列。。。我沒想明白,有誰能指點一下?
2 回答
瀟瀟雨雨
TA貢獻1833條經驗 獲得超4個贊
private static void Permutation(List<int> v, int m, int n)
{
int i;
if (m < n - 1)
{
Permutation(v, m + 1, n);
for (i = m + 1; i < n; i++)
{
Swap(v, m, i);
Permutation(v, m + 1, n);
Swap(v, m, i);
}
}
else
{
foreach (int vs in v)
{
Console.Write(vs);
}
Console.Write("\r\n");
}
}
private static void Swap(List<int> v, int m, int i)
{
int t;
t = v[m]; v[m] = v[i]; v[i] = t;
}
調用方法:
List<int> v = new List<int> { 1, 2, 3};
Permutation(v, 0, 3);- 2 回答
- 0 關注
- 481 瀏覽
添加回答
舉報
0/150
提交
取消
