Professional Documents
Culture Documents
o doblemente ligadas
Hola, en este post les voy a presentar una estructura
de datos llamada listas doblemente enlazadas .
- información o dato
- anterior
- siguiente
package ListaD;
public class NodoD<Tipo> {
private Tipo dato;
private NodoD anterior;
private NodoD siguiente;
NodoD primero;
public ListaD() {
primero=null;
if (primero!=null ){
primero.setAnterior(nuevo);
nuevo.setSiguiente(primero);
primero=nuevo;
return this;
if(primero!=null){
NodoD actual=primero;
while(actual.getSiguiente()!=null)
actual=actual.getSiguiente();
actual.setSiguiente(nuevo);
nuevo.setAnterior(actual);
else
primero=nuevo;
return this;
NodoD actual=primero;
if (primero!=null ){
primero=actual.getSiguiente();
primero.setAnterior(null);
actual.setSiguiente(null);
return this;
if(primero!=null){
NodoD actual1=primero;
NodoD actual2=primero;
while(actual1.getSiguiente().getSiguiente()!=null){
actual1=actual1.getSiguiente();
actual2=actual1.getSiguiente();
actual1.setSiguiente(null);
actual2.setAnterior(null);
if(primero.getSiguiente()==null)
primero=null;
}
return this;
String salida="";
NodoD actual;
salida=salida+"-"+actual.getDato();
return salida;
NodoD actual;
int i=0;
for(actual=primero;actual!=null;actual=actual.getSiguiente()){
if(actual.getDato()==elemento)
JOptionPane.showMessageDialog(null,"elemento
encontrado "+elemento+"\n"+" en la posicion "+i);
i++;
NodoD actual;
if(primero!=null){
if(primero.getDato()==elem)
primero=null;
if(primero.getSiguiente().getDato()==elem){
actual=primero.getSiguiente();
primero=actual;
actual.setAnterior(null);
else{
for(actual=primero.getSiguiente();actual!=null;actual=actual.getSigu
iente()){
if(actual.getSiguiente().getDato()==elem){
actual.getAnterior().setSiguiente(actual.getSiguiente());
actual.getSiguiente().setAnterior(actual.getAnterior());
actual.setAnterior(null);
actual.setSiguiente(null);
else
System.out.println("lista vacia");
return this;
NodoD actual;
if(primero!=null){
if(primero.getDato()==elem &&
primero.getSiguiente()==null)
primero=null;
else{
for(actual=primero.getSiguiente();actual!=null;actual=actual.getSigu
iente()){
if(actual.getDato()==elem &&
actual.getSiguiente()!=null){
actual=actual.getSiguiente();
actual.getAnterior().setSiguiente(actual.getSiguiente());
actual.getSiguiente().setAnterior(actual.getAnterior());
actual.setAnterior(null);
actual.setSiguiente(null);
if(actual.getDato()==elem)
break;
else
System.out.println("lista vacia");
return this;
}
NodoD actual2;
if(primero!=null){
NodoD actual=primero;
if(actual.getDato()!=bus){
for(actual=primero;actual!=null;actual=actual.getSiguiente()){
if(actual.getSiguiente().getDato()==bus){
actual2=actual.getSiguiente();
actual.setSiguiente(nuevo);
nuevo.setSiguiente(actual2);
break;
else{
nuevo.setSiguiente(primero);
primero=nuevo;
return this;
}
primero=null;
return this;
Insertar al frente