Ho studiato funzioni ricorsive e, apparentemente, sono funzioni che si chiamano da sole e non usano iterazioni / cicli (altrimenti non sarebbe una funzione ricorsiva).
Tuttavia, mentre navigavo sul web per esempio (il problema ricorsivo delle 8 regine), ho trovato questa funzione:
private boolean placeQueen(int rows, int queens, int n) {
boolean result = false;
if (row < n) {
while ((queens[row] < n - 1) && !result) {
queens[row]++;
if (verify(row,queens,n)) {
ok = placeQueen(row + 1,queens,n);
}
}
if (!result) {
queens[row] = -1;
}
}else{
result = true;
}
return result;
}
C'è un while
ciclo coinvolto.
... quindi sono un po 'perso ora. Posso usare i loop o no?
placeQueen
è "place 8 queens" e la versione più semplice di placeQueen
è "place 7 queens" (quindi posto 6, ecc.)