Ciao,
creaListaElementiMaggioriSommaPrecedenti: metodo che crea una NUOVA lista contenente copia degli elementi della lista data che sono MAGGIORI della somma degli elementi precedenti!
versione ricorsiva funzionante:
versione iterativa non funzionante come mai?codice:public MiaLista creaListaElementiMaggioriSommaPrecedenti(){ MiaLista lista=new MiaLista(); if(first==null) throw new IllegalArgumentException("Lista vuota"); eliminaMinoriSomma(lista, first, first.dato); return lista; } private void eliminaMinoriSomma(MiaLista lista,ListElem index, int somma){ if(index==null) return; eliminaMinoriSomma(lista, index.next, somma+index.dato); if(somma<=index.dato) lista.insert(index.dato); }
la mia domanda è coma non mi funziona la versione iterativa???codice:public MiaLista creaListaElementiMaggioriSommaPrecedenti(){ ListElem index = first; MiaLista lista = new MiaLista(); int somma=0; if(first==null) throw new IllegalArgumentException("Lista vuota"); while(index != null) { somma=somma+index.dato; if(somma<=index.dato) { lista.insert(index.dato); } index = index.next; } return lista; }
Grazie

Rispondi quotando