Necesito LLamar a un metodo para crear Nodo en estructura de datos
Publicado por caye (3 intervenciones) el 29/06/2020 17:25:24
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
//Clase Main, solo hay 3 clases y necesito crear un metodo o usar para crear un nodo usando el menu de opciones
package a1_listaenlazada;
import java.util.Scanner;
public class A1_ListaEnlazada {
public static void main(String[] args) {
Lista Nodo= new Lista();
Nodo.insertarInicio2(null);
Nodo.insertarMedio(null, null);
Nodo.insertarFinal(null);
Nodo.buscarNodo(null);
Nodo.eliminarNodo(null);
Nodo.mostrarLista();
Nodo.actualizarNodo(null, null);
Scanner sc= new Scanner(System.in);
boolean salida=false;
int respuesta;
while(!salida){
System.out.println("Presione ´1´ para insertar nodo");
System.out.println("Presione ´2´ para insertar nodo al principio");
System.out.println("Presione ´3´ para insertar nodo en el centro");
System.out.println("Presione ´4´ para insertar nodo al final");
System.out.println("Presione ´5´ para buscar nodo");
System.out.println("Presione ´6´ para eliminar nodo");
System.out.println("Presione ´7´ para mostrar lista");
System.out.println("Presione ´8´ para actualizar nodo");
System.out.println("Presione ´9´ para salir del programa");
System.out.println("Elige una opción para ejecutar");
respuesta=sc.nextInt();
if (respuesta==1){
}if (respuesta==2) {
}if (respuesta==3){
}if (respuesta==4){
}if (respuesta==5){
System.out.println("");
}if (respuesta==6){
System.out.println("");
}if (respuesta==7){
System.out.println("Lista");
Nodo.mostrarLista();
}if (respuesta==8){
System.out.println("");
}if (respuesta==9){
salida=true;
}else{
System.out.println("La opción no es correcta");
}
}
}
}
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
//Clase Lista
package a1_listaenlazada;
public class Lista {
private Nodo cabeza;
public Lista(){
cabeza=null;
}
public void insertarInicio(Nodo nuevo){
if(cabeza==null) //se preguntando si la lista está vacía
cabeza=nuevo;
else{
nuevo.actEnlace(cabeza);// (1)
cabeza=nuevo; //(2)
}
}
public void insertarInicio2(Nodo nuevo){
nuevo.actEnlace(cabeza);
cabeza=nuevo;
}
public void insertarMedio(Nodo nuevo, String nom){
Nodo despues;
if(cabeza != null){
despues = buscarNodo(nom);
if(despues != null){
nuevo.actEnlace(despues.retEnlace());
despues.actEnlace(nuevo);
}
else{
System.out.println(nom+" No existe, no se puede insertar el nodo");
}
}
else{
System.out.println("La lista está vacía, se insertará al inicio");
insertarInicio2(nuevo);
}
}
public void insertarFinal(Nodo nuevo){
Nodo ultimo=cabeza;
if(cabeza == null){
cabeza=nuevo;
}
else{
while(ultimo.retEnlace() != null){
ultimo = ultimo.retEnlace();
}
ultimo.actEnlace(nuevo);
}
}
public Nodo buscarNodo(String nom){
Nodo aqui = cabeza;
if(cabeza != null){
while(!nom.equals(aqui.retNombre()) && aqui.retEnlace() != null )
aqui = aqui.retEnlace();
if(nom.equals(aqui.retNombre()))
return aqui;
else
return null;
}
else{
System.out.println("La Lista Enlazada está vacía");
return null;
}
}
public void eliminarNodo(String nom){
Nodo eliminar = cabeza;
Nodo anterior = null;
if(cabeza != null){
while(!nom.equals(eliminar.retNombre()) && eliminar.retEnlace() != null){
anterior = eliminar;
eliminar = eliminar.retEnlace();
}
if(nom.equals(eliminar.retNombre())){
if(eliminar == cabeza)
cabeza = cabeza.retEnlace(); //cabeza = eliminar.retEnlace();
else
anterior.actEnlace(eliminar.retEnlace());
}
else{
System.out.println(nom+" no existe, no se puede eliminar!!!");
}
}
else{
System.out.println("La lista está vacía, no se puede eliminar a "+nom);
}
}
public void mostrarLista(){
Nodo aqui=cabeza;
if(cabeza != null){
while(aqui != null){
aqui.mostrarNodo();
aqui=aqui.retEnlace();
}
System.out.println("\n\tSe mostraron todos los nodos de la lista\n");;
}
else{
System.out.println("Lista enlazada vacía, no hay nodos para mostrar\n");
}
}
public void actualizarNodo(String nom, String nuevoNombre){
Nodo modificar = buscarNodo(nom);
if(modificar != null)
modificar.actNombre(nuevoNombre);
else
System.out.println(nom + " No existe, no se puede actualizar");
}
public void nuevoNodo (String nom){
String nombre = nom;
Nodo enlace=null; //cuando creamos el nodo aún no está en la lista enlazada
}
}
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
//Clase Nodo
package a1_listaenlazada;
public class Nodo {
private String nombre;
private Nodo enlace;
public void nuevoNodo (String nom){
nombre=nom;
enlace=null; //cuando creamos el nodo aún no está en la lista enlazada
}
public void actNombre(String nom){
nombre=nom;
}
public void actEnlace(Nodo enl){
enlace=enl;
}
public String retNombre(){
return nombre;
}
public Nodo retEnlace(){
return enlace;
}
public void mostrarNodo(){
System.out.println(nombre+"\t\t"+enlace);
}
}
Valora esta pregunta


0