domingo, 11 de octubre de 2009

Listas En Java recursivo(suma,contar elmentos...)


Porque todos necesitamos un empujon jaja
aqui les va la clase lista

public class Lista {

Nodo cabeza;
Nodo aux;
int suma;

public Lista() {
aux = null;
}

public int getSuma() {
return suma;
}

public void setSuma(int suma) {
this.suma = suma;
}

public Lista(Nodo cabeza) {
this.cabeza = cabeza;
}

public Nodo getAux() {
return aux;
}

public void setAux(Nodo aux) {
this.aux = aux;
}

public Nodo getCabeza() {
return cabeza;
}

public void setCabeza(Nodo cabeza) {
this.cabeza = cabeza;
}

public Lista(Nodo cabeza, Nodo aux) {
this.cabeza = cabeza;
this.aux = aux;
}

public void Ingresar(int dato){

if(cabeza==null){
cabeza=new Nodo();
cabeza.dato=dato;
cabeza.siguiente=null;
//cabeza.anterior=null;
}
else{
aux=cabeza;
while(aux.siguiente!=null)
aux=aux.siguiente;
aux.siguiente=new Nodo();
aux.siguiente.dato=dato;
aux.siguiente.siguiente=null;

//aux.siguiente.anterior=aux;
}
aux = null;
}




public void mostrarLista(Lista l){
if(cabeza!=null){
System.out.println(""+l.cabeza.dato);
cabeza=cabeza.siguiente;
mostrarLista(l);

}
}
public int numElementos(){

if(aux == null){
suma = 0;
aux = cabeza;
}

if(aux!=null){
suma+=1;
aux=aux.siguiente;
if(aux!=null){
numElementos();
}

}
return suma;

}

public double promedio(){
aux = null;
suma = 0;
int numeroElementos = this.numElementos();
int sumaElementos = this.sumaLista();
return (Double.valueOf(sumaElementos)/Double.valueOf(numeroElementos));


}

public int sumaLista(){

if(aux == null){
suma = 0;
aux = cabeza;

}

if(aux==null){
return 0;
}
suma+=aux.getDato();
if (aux.siguiente!=null){
aux=aux.siguiente;
sumaLista();
}
return suma;

}

public void ParOImpar (Lista l1,Lista l2,int num){

if(num%2==0){
l1.Ingresar(num);
}
else{
l2.Ingresar(num);
}

}
//recomiendo usar netbeans
}

No hay comentarios:

Publicar un comentario