Originariamente inviato da carvince
Ho provato in quest'altro modo ma mi segnale 3 errori in return VerificaOrdinamentoRicorsivo...
A parte gli errori dovuti a cosa hai messo nella invocazione ricorsiva .... il concetto ancora non quadra.

Originariamente inviato da carvince
Non riesco a capire come far passare un inizio incrementato di 1 ogni volta che vado in ricorsione....
Passando come secondo argomento un inizio+1.

Originariamente inviato da carvince
Ma secondo voi if(a.length==1) return true; può essere sufficiente a fermare la 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.
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.