62,041
社区成员
发帖
与我相关
我的任务
分享
public unsafe static int Perm(int[] a, int k, int m)
{
// ProcessDelegate myDelegate = new ProcessDelegate(swap);
if (k > m)
{
for (int i = 0; i <= m; i++)
{
Console.Write(" " + a[i] + " ");
}
Console.WriteLine();
n++;
}
else
{
for (int i = k; i <= m; i++)
{
fixed (int* p1 = &a[k], p2 = &a[i])
{
//swap(&a[k], &a[i]);
swap(p1, p2);
}
Perm(a, k + 1, m);
fixed (int* p1 = &a[k], p2 = &a[i])
{
//swap(&a[k], &a[i]);
swap(p1, p2);
}
}
}
return n;
}