Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/03/2011, 09:22
Avatar de bengy
bengy
 
Fecha de Ingreso: febrero-2011
Ubicación: cochabamba
Mensajes: 17
Antigüedad: 13 años, 2 meses
Puntos: 2
Respuesta: Listas doblemente enlazadas

package ED;


/**
* Write a description of class ListaDE here.
*
* @author (Aiza bengy)
* @version (1.1)
*/
public class ListaDE<T> implements Lista<T>
{
private NodoDE<T> ini;

public boolean vacia(){
return ini==null;
}
public T eliminar(T d){
T res= null;
if ( vacia ()){
res= null;
}
else {
NodoDE<T> q = buscarNodo(d,ini);
NodoDE<T> r,p ;
if (q!=null){
r= q.getSig();
p= q.getAnt();
if (q == ini){
ini= r;
if (r==null){
res=null;
}
else{
p.setSig(r);
r.setAnt(p);
}
}
else{
res=null;
}


}

}
return res;
}
public NodoDE<T> buscarNodo(T dato, NodoDE<T> q){
NodoDE<T> res;
if (q.getDato().equals(dato)){
res=q;
}
else{
res=buscarNodo(dato,q.getSig());
}
return res;
}
public void insertar(T elem , int k ){
NodoDE<T> n= new NodoDE<T>(elem);
if (vacia () && k==0){
ini= n;
}
else{

NodoDE<T> p;
NodoDE<T> q= buscarNodo(elem, ini );
p= q.getAnt();
if (k!=0){
p.setSig(n);
n.setSig(q);
q.setSig(n);
n.setSig(p);
}
else{
ini=n;
}
}
}
public NodoDE<T> buscarNodo(int k, NodoDE<T> q){
NodoDE<T> res;
if (k==0){
res=q;
}
else{
res=buscarNodo(k, q.getSig());
}
return res;
}

public T acceder (int k){
T res;
if (vacia()){
res=null;
}
else{
NodoDE<T> q = buscarNodo(k,ini);
if(q!=null){
res=q.getDato();
}
else{
res=null;
}
}
return res;
}
public int tamaño(int k){
int res=0;
if (vacia()){
res=0;
}
else{

NodoDE<T> q= buscarUltimoNodo(k,ini);
if (q!=null){
res=k;
}

}
return res;
}
public NodoDE<T> buscarUltimoNodo(int k,NodoDE<T> q){
NodoDE<T> res;
if(q.getSig()==null){
res= q;
}
else{
res= buscarUltimoNodo(k-1,q.getSig());
}

return res;

}
}
bueno yo realice este codigo pero no te funciona muy bien por q no tenes la clase NOdo bye espero que te sirva bye


ufc 127