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:
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);
    }
versione iterativa non funzionante come mai?
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;
    }
la mia domanda è coma non mi funziona la versione iterativa???

Grazie