Código
//Método para insertar un dato al inicio de una lista public void insertarInicio(int dato) { Nodo x=new Nodo(dato); x.setLiga(cab); cab=x; } //Método para insertar un nodo al final de una lista public void insertarFinal(int dato) { Nodo q=cab,x=new Nodo(dato); if(cab==null) { cab=x; } else { while(q.getLiga()!=null) { q=q.getLiga(); } q.setLiga(x); } } //Método para eliminar el primer nodo de una lista public void eliminarPrimero() { Nodo x=cab; if(cab==null) { } else { cab=cab.getLiga(); //delete(x) aqui se libera el nodo } } //Método para eliminar el ultimo nodo de una lista public void eliminarUltimo() { Nodo q=cab,ant=null; if(cab==null) { } else { while(q.getLiga()!=null) { ant=q; q=q.getLiga(); } if(q==cab) { cab=null; } else { ant.setLiga(null); } //delete(q) } } //Método para eliminar de la lista un dato dado public void eliminarDato(int dato) { Nodo q=cab,ant=null; boolean sw=false; if(cab==null) { } else { while(q!=null &&sw==false) { if(q.getDato()==dato) { sw=true; } else { ant=q; q= q.getLiga(); } } if(sw==false) { } else { if(q==cab) { cab=cab.getLiga(); } else { ant.setLiga(q.getLiga()); } //delete(q) aqui se libera el nodo } } } //Método para eliminar de la lista todos los datos impares public void eliminarImpares() { Nodo q=cab,ant=null,x; boolean sw=false; if(cab==null) { } else { while(q!=null) { if(q.getDato()%2!=0) { sw=true; x=q; if(q==cab) { cab=cab.getLiga(); } else { ant.setLiga(q.getLiga()); } q= q.getLiga(); //delete(x) aqui se libera el nodo } else { ant=q; q= q.getLiga(); } } if(sw==false) { } } } //Método para insertar un dato en una lista ordenada y que permanezca ordenada y sin datos repetidos //Ejercicio 6 public void insertarDatoenListaOrdenadaSinRepetir(int dato) { Nodo q=cab, ant=null,x; if(cab==null) { x=new Nodo(dato); cab=x; } else { while(q!=null && q.getDato()<dato) { ant=q; q=q.getLiga(); } if(q!=null && q.getDato()==dato) { } else { x=new Nodo(dato); x.setLiga(q); if(q==cab) { cab=x; } else { ant.setLiga(x); } } } } //Método para insertar un dato en una lista ordenada y que permanezca ordenada permite datos repetidos //Ejercicio public void insertarDatoenListaOrdenadaPermiteRepetidos(int dato) { Nodo q=cab, ant=null,x; if(cab==null) { x=new Nodo(dato); cab=x; } else { while(q!=null && q.getDato()<dato) { ant=q; q=q.getLiga(); } x=new Nodo(dato); x.setLiga(q); if(q==cab) { cab=x; } else { ant.setLiga(x); } } } }