Ho bisogno del vostro aiuto devo creare un metodo ricorsivo partendo da una lista ne crei una nuova aggiungendo dopo un determinato valore (dato in input) un nuovo valore (dato in input: variabile in). per essere pratici data questa lista: 5,3,9,5,7,5 se inserisco in input (valore =5,in=1) la mia nuova lista in ouput sarà 5,1,3,9,5,1,7,5,1.
Ho provato a farlo ma con scarso risultato... grazie
Il codice a mia disposizione è il seguente:
public class MiaLista {
private class ListElem {
private int dato;
private ListElem next = null;
public int getDato() {
return dato;
}
public void setDato(int dato) {
this.dato = dato;
}
public ListElem getNext() {
return next;
}
public void setNext(ListElem next) {
this.next = next;
}
}
private ListElem first;
public MiaLista() {
first = null;
}
public void insert(int val) {
ListElem elem = new ListElem();
elem.setDato(val);
elem.setNext(first);
first = elem;
}
public boolean isEmpty() {
return first == null;
}
public void printList() {
System.out.print(this.toString());
}
public String toString() {
ListElem iterator = first;
String s = "";
while (iterator != null) {
s += iterator.getDato();
iterator = iterator.getNext();
if (iterator != null)
s += ", ";
}
return s;
}
/*
* metodo nuovaLista()
*
* Il metodo deve copiare tutti gli elementi aggiungendo un nuovo nodo dopo un valore dato.
* il tutto in modo ricorsivo
*
*/
}