Java - Como insertar un nodo entre dos nodos en una lista enlazada

 
Vista:
sin imagen de perfil
Val: 14
Ha aumentado su posición en 8 puestos en Java (en relación al último mes)
Gráfica de Java

Como insertar un nodo entre dos nodos en una lista enlazada

Publicado por Francisco (10 intervenciones) el 15/10/2019 01:09:11
No conozco como puedo insertar un elemento entre dos nodos tengo el siguiente código pero aun no se como realizarlo que puedo hacer necesito ayuda gracias:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
public class Lista<T> {
 
    protected Nodo primero, ultimo;
    T p;
 
    public Lista() {
        primero = null;
        ultimo = null;
    }
 
    public boolean EstaVacia() {
        if (primero == null) {
            return true;
        } else {
            return false;
        }
    }
 
    public T insertarCabezaLista(T p) {
        primero = new Nodo(p, primero);
        if (ultimo == null) {
            ultimo = primero;
        }
        return null;
    }
 
    public T insertarCola(T p) {
        if (!EstaVacia()) {
            ultimo.enlace = new Nodo(p);
            ultimo = ultimo.enlace;
        } else {
            primero = ultimo = new Nodo(p);
        }
        return null;
    }
 
    public void visualizar() {
        Nodo<Integer> n = primero;
        System.out.println();
        while (n != null) {
            System.out.print("[" + n.dato + "]-->");
            n = n.enlace;
        }
    }
 
    //Eliminar un nodo especifico
    public void eliminar(T p) {
        if (!EstaVacia()) {
            if (primero == ultimo && p == primero.dato) {
                primero = ultimo = null;
            } else if (p == primero.dato) {
                primero = primero.enlace;
            } else {
                Nodo anterior, temporal;
                anterior = primero;
                temporal = primero.enlace;
                while (temporal != null && temporal.dato != p) {
                    anterior = anterior.enlace;
                    temporal = temporal.enlace;
                }
                if (temporal != null) {
                    anterior.enlace = temporal.enlace;
                    if (temporal == ultimo) {
                        ultimo = anterior;
                    }
                }
            }
        }
    }
    // buscar si un elemnento se encunetra en la lista
    public boolean EstaEnLaLista(T p) {
        Nodo temporal = primero;
        while (temporal != null && temporal.dato != p) {
            temporal = temporal.enlace;
        }
        return temporal != null;
    }
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder