Рекурсия и пермутации в кода, моля разяснете кода


0
 
 
 
for (int j = 0; j < arr.Length; j++)
        {
            if (used[j]) continue;

            arr[i] = j;

            used[j] = true;
            Permutation(arr, used, i + 1);
            used[j] = false;
        }

Неразбирам как в обратен ред се присвоява used[j] = false и съответно новата подредба в arr[i] = j





Отговори



1

Здрасти колега :)

Ако така я караш ще те опукат с флагове и минуси много скоро.
Ако не ти е ясен даден код най-добре отиди и питай там, от където си го взел. Виждам че те препращат към темата за масиви, явно там е обсъдено, или ако не, то поне там е мястото, където да си зададеш въпроса.

В началото може да е малко трудно за ориентация, но ще свикнеш бързо :)
http://forums.academy.telerik.com/49064/c%23-arrays-21-%D0%B7%D0%B0%D0%B4%D0%B0%D1%87%D0%B0?show=50006#a50006

Поздрави и успех!


от KOCTEHYPKATA (5259 точки)


0
Колега, затварям ви темите т.к. няма смисъл да пускате нова за всяко ваше питане. Може да го направите с обикновен коментар към дадения отговор ( има бутон comment или reply ).
Относно питането ви - прегледал ли сте лекцията за рекурся ? Ако не ви препоръчвам да го направите т.к. самия похват не е особено лек и доста трудно се обяснява или както казват хората - трябва ръка да барне :)
Линкове:
http://www.youtube.com/watch?v=2GCmXfKhTLc

от Teodor92 (13062 точки)


0
Кога е имало такава лекция?

от saykor (8845 точки)

0
Миналия сезон. При нас е изместена чак в курса по алгоритми.

от Teodor92 (13062 точки)