Tema: Listas Java
Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/02/2006, 19:29
Avatar de Estef
Estef
 
Fecha de Ingreso: febrero-2006
Mensajes: 12
Antigüedad: 18 años, 11 meses
Puntos: 0
las clases que faltan

ahi va ahora la clase del ShoppingCart que era mi problema:

package productos;

public class ShoppingCart {

//////////////////////////////////////
static class Nodo {

public Product dato;
public Nodo siguiente;
public Nodo(){
dato=null;
siguiente=null;
}
public Nodo(Product n){
dato=n;
siguiente=null;
}

public void imprimir(){
dato.imprimir();
}


}
///////////////////////////////////////

/////////////////////////////////////
static class Lista {

public Nodo inicio;

public Lista(){
inicio=null;
}

public void insertarAlInicio(Product d){
Nodo nuevo=new Nodo(d);
nuevo.siguiente=inicio;
inicio=nuevo;
}

public void insertarOrdenado(Product f){
Nodo aux=inicio;
Nodo anterior=null;
Nodo nuevo=new Nodo(f);

while(aux!=null&&aux.dato==nuevo.dato){
anterior=aux;
aux=aux.siguiente;
}

if(anterior==null){
nuevo.siguiente=inicio;
inicio=nuevo;
}

else{
anterior.siguiente=nuevo;
nuevo.siguiente=aux;
}
}

public void imprimir(){
Nodo aux=inicio;
while(aux!=null){
aux.imprimir();
aux=aux.siguiente;
}
}

public boolean buscar(Product d){
Nodo aux;
aux=inicio;

while(aux!=null){
if(aux.dato==d){
aux.imprimir();
return true;
}
aux=aux.siguiente;
}
return false;
}

public Product eliminarInicio(){
Nodo temp;
temp=inicio;
inicio=inicio.siguiente;
return temp.dato;
}

public Product eliminar(Product e){
Nodo aux=inicio;
Nodo anterior=null;
while(aux!=null&&aux.dato==e){
anterior=aux;
aux=aux.siguiente;
}
if(anterior==null){
inicio=inicio.siguiente;
}

else{
anterior.siguiente=aux.siguiente;
}
return aux.dato;
}
}


}

y la ultima clase para realizar la aplicacion:

package productos;

public class Aplicacion {

/**
* @param args
*/
public static void main(String[] args) {

Product a=new HWProduct(1.25, "A",2,2);
Product b=new HWProduct(2.25, "S",5,7);
Product c=new SWProduct(3.25, "T",7,6);
Product d=new HWProduct(4.25, "U",4,1);
Product e=new SWProduct(5.25, "O",7,9);
ShoppingCart.Lista nuevo=new ShoppingCart.Lista();
nuevo.insertarAlInicio(a);
nuevo.insertarOrdenado(b);
nuevo.insertarOrdenado(c);
nuevo.insertarOrdenado(d);
nuevo.insertarOrdenado(e);
nuevo.imprimir();



}

}

Espero que les sirva si en algun momento deben hacer lo mismo.

byi