|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2006
Messaggi: 21
|
indexOf ricorsivo
Si sono sempre io, lo so che ormai sono un'incubo ma fino a giovedì (data dell'esame) devo sapere tutto, è troppo importante questo esame, mi blocca tutto...
Sei io ho un array di un qualsiasi ogetto generico T, come faccio a fare un metodo indexOf (che quindi mi restituisce la posizione dell'ogetto che riceve) ricorsivo. grazie a tutti:bai |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2003
Messaggi: 1056
|
in simil-java (anche se dire java e' dire tutto e niente perche quandi dici simil-*....
Codice:
public int indexOf (Object o, T[] list) {
/** lista di dimensione invalida **/
if (list.length<1) return -1;
/** se l'oggetto e' in ultima posizione **/
elseif list[list.length-1].equals(o) return (list.length-1);
/** se la lista e' lunga 1 ritorno false
* infatti ho gia controllato che non e' l'ultimo
*/
elseif (array.length==1) return -1;
/** altrimenti ritorno indexOf sulla lista senza l'ultimo **/
else return indexOf(o, list.sublist());
}
ti lascio implementare il sublist, che da un array di x elementi ne crea uno lungo x.length-1 con i primi x-1 ciao Ultima modifica di smartz : 02-04-2006 alle 20:49. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2003
Messaggi: 1056
|
in parole:
se la lista e' vuota ritorno -1 (o un eccezione) se l'ultimo in lista e' quello cercato ritorno il suo indice se la lista e' di un elemento ritorno -1 (o un eccezione), in quanto se non e' l'ultimo e ce n'e' solo uno allora quello cercato non c'e' ricorro sulla lista piu corta: cerco nella lista senza l'ultimo elemento. un accademico potrebbe anche dimostrare per induzione che termina: c'e' il caso base e dato il caso n c'e' l'n+1...... |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:30.


















