List A Doble

Descargar como txt, pdf o txt
Descargar como txt, pdf o txt
Está en la página 1de 2

package listasdobleenlazadas;

import javax.swing.JOptionPane;

public class ListaDoble {

private NodoDoble inicio, fin;

public ListaDoble() {
inicio = fin = null;
}

//Método verificar si hay elemento en la Lista


public boolean estaVacia() {
return inicio == null;
}

//Método AGREGAR nodos al FINAL


public void agregarFinal(int el) {
if (!estaVacia()) {
fin = new NodoDoble(el, null, fin);
fin.anterior.siguiente = fin;
} else {
//Cuando no hay nodos
inicio = fin = new NodoDoble(el);
}
}

//Método AGREGAR al INICIO


public void agregarInicio(int el) {
if (!estaVacia()) {
inicio = new NodoDoble(el, inicio, null);
//Unir los nodos
inicio.siguiente.anterior = inicio;
} else {
//Cuando no hay nodos
inicio = fin = new NodoDoble(el);
}
}

//Método para mostrar la lista de Inicio a Fin


public void mostrarListaIF() {
if (!estaVacia()) {
String datos = "<=>"; //definimos conector
NodoDoble auxiliar = inicio; // Para proteger los datos
System.out.println();
while (auxiliar != null) {
datos = datos + "[" + auxiliar.dato + "]<=>";
auxiliar = auxiliar.siguiente;
}
System.out.print(datos);

JOptionPane.showMessageDialog(null, datos,
"Mostrando Lista de Inicio a Fin",
JOptionPane.INFORMATION_MESSAGE);
}
}

//Método para mostrar la Lista de Fin a Inicio


public void mostrarListaFI() {
if (!estaVacia()) {
String datos = "<=>";
NodoDoble auxiliar = fin; // 3 - 5 => 5 - 3
System.out.println();
while (auxiliar != null) {
datos = datos + "[" + auxiliar.dato + "]<=>";
auxiliar = auxiliar.anterior;
}
System.out.print(datos);

JOptionPane.showMessageDialog(null, datos,
"Mostrando Lista de Inicio a Fin",
JOptionPane.INFORMATION_MESSAGE);
}
}

//Método para eleminar al INICIO


public int EliminarInicio() {
int elemento = inicio.dato;
if (inicio == fin) {
inicio = fin = null;
} else {
inicio = inicio.siguiente;
inicio.anterior = null;
}
return elemento;
}
//Método para eleminar al FINAL
public int EliminarFinal() {
int elemento = fin.dato;
if (inicio == fin) {
inicio = fin = null;
} else {
fin = fin.anterior;
fin.siguiente = null;
}
return elemento;
}
}

También podría gustarte