A parte gli errori dovuti a cosa hai messo nella invocazione ricorsiva .... il concetto ancora non quadra.Originariamente inviato da carvince
Ho provato in quest'altro modo ma mi segnale 3 errori in return VerificaOrdinamentoRicorsivo...
Passando come secondo argomento un inizio+1.Originariamente inviato da carvince
Non riesco a capire come far passare un inizio incrementato di 1 ogni volta che vado in ricorsione....
No, l'array non cambia di dimensione durante la ricorsione, l'array devi passarlo esattamente tale e quale, passi 'a' e basta. Quello che deve cambiare è il punto "logico" di inizio.Originariamente inviato da carvince
Ma secondo voi if(a.length==1) return true; può essere sufficiente a fermare la ricorsione?
E la ricorsione si deve fermare quando inizio è l'indice dell'ultimo elemento.
Facciamo un esempio? Bene, array: 2 5 7 9
invocazione diretta con array e inizio=0: confronti 2 e 5
invocazione in ricorsione con array e inizio+1 cioè 1: confronti 5 e 7
invocazione in ricorsione con array e inizio+1 cioè 2: confronti 7 e 9
invocazione in ricorsione con array e inizio+1 cioè 3: resta 1 solo elemento, poichè 3 è l'indice dell'ultimo elemento, quindi arrivati a questo punto è di certo ordinato: true.

Rispondi quotando