نقل قول: الگوریتم نمایش جایگشت ها
این کد چندان ناواضح نیست. شما فقط با تابع MySub کار دارید که یه لیست رو میگیره (همون اعداد یک تا n هستش)، و دو تا پارامتر دیگه. اولین بار هم به صورت (MySub(A, 1, N فراخوانی شده که A لیست همون اعداد یک تا N هستش.
private void MySub(long[] list, long Index, long Count)
{
long Pos, Temp;
if (Index > Count)
{
Showlist(list, Count); // End
return;
}
MySub(list, Index + 1, Count);
for(Pos = Index + 1 ; Pos <= Count ; Pos++)
{
Temp = list[Pos];
list[Pos] = list[Index];
list[Index] = Temp;
MySub(list, Index + 1, Count);
list[Index] = list[Pos];
list[Pos] = Temp;
}
{
تفسیر الگوریتم با خودتون.