Búsqueda por palabras claves

No se olviden de consultar por palabras claves! Ejemplo de Estructura de datos en java, tutorial de estructura de datos
Búsqueda personalizada

martes, 20 de noviembre de 2018

Ordenar a medida que vamos insertando datos en una estructura de datos tipo lista doblemente enlazada

Ejercicio en java de estructuras de datos Ordenar a medida que vamos insertando datos en una estructura de datos tipo lista doblemente enlazada Se crea un método insertar que recibe un parámetro que corresponde con el dato del nodo a instar en la Lista, según las condiciones se insertará el nuevo nodo en el inicio, en el centro de la lista o en el final.
public class Lista {
    
    private Nodo inicio;
    private Nodo fin;

    public Lista() {       
        inicio=fin=null;
    }
    
    public boolean esVacio(){
        return inicio==fin && fin==null;
    }
    
    public void insertarOrdenado(int dato) {
        if (!esVacio()) {
            Nodo nuevo;
            if (dato < inicio.getDato()) {
                nuevo = new Nodo(null, inicio, dato);
                inicio.setAnterior(nuevo);
                inicio = nuevo;
            } else {
                Nodo aux = inicio;
                while (aux != null && dato > aux.getDato()) {
                    aux = aux.getSiguiente();
                }
                if (aux != null) {
                    nuevo = new Nodo(aux.getAnterior(), aux, dato);
                    aux.getAnterior().setSiguiente(nuevo);
                    aux.setAnterior(nuevo);
                } else {
                    nuevo = new Nodo(fin, null, dato);
                    fin.setSiguiente(nuevo);
                    fin = nuevo;

                }

            }
        } else {
            Nodo nuevo = new Nodo(null, null, dato);
            inicio = fin = nuevo;

        }

    }
    
    public void imprimir(){
        Nodo aux= inicio;
        while(aux != null){
            System.out.println(aux.getDato());
            aux= aux.getSiguiente();
        }
    }
}

No hay comentarios:

Publicar un comentario