Pregunta: | 68119 - COMO INGRESAR LOS DATOS POR TECLADO EN ESTE CODIGO DE LISTAS |
Autor: | Fernando Parrado |
No se si esta pregunta debe ir aquí pero agradezco que me ayuden necesito este mismo código pero que los datos se ingresen con la funcion Scanner y no se como Gracias import java.util.Scanner; public class ListasSimples { public static void main (String [] args){ System.out.println("Lista Simple"); ListaSimple Lista = new ListaSimple(6); Scanner teclado = new Scanner(System.in); System.out.println("La lista esta vacia " + Lista.ListaVacia()); System.out.println("Existe algun elemento " + Lista.Unico()); Lista.InsertarInicio (3); Lista.InsertarInicio (8); Lista.InsertarFinal (10); Lista.InsertarFinal (20); //Lista.EliminarInicio(); //Lista.EliminarFinal(); if (Lista.Buscar(5)!=null){ Lista.InsertarAntesNodo(15,Lista.Buscar(5)); } if(Lista.Buscar(5)!=null){ { Lista.InsertarAntesNodo(25,Lista.Buscar(5)); } System.out.println("La lista esta vacia"+Lista.ListaVacia()); Lista.ImprimirLista (); //int C = Lista.Contar(Lista); //System.out.println("La lista tiene " +C+ " Nodos "); } } } class ListaSimple { Nodo P; Nodo Q,T,L; public ListaSimple () {} public boolean ListaVacia() { return P==null; } public ListaSimple(int Dato) { P= new Nodo(Dato); } public boolean Unico() { return (P.Siguiente==null); } public void InsertarInicio (int Dato) { if (ListaVacia()) { P=new Nodo(Dato); }else{ Nodo Nuevo = new Nodo(Dato,P); P=Nuevo; } } public void InsertarFinal(int Dato){ if (ListaVacia()) { P = new Nodo(Dato); }else{ Q=P; while (Q.Siguiente !=null) { Q=Q.Siguiente; } Nodo Nuevo = new Nodo(Dato); Q.Siguiente = Nuevo; } } public void EliminarInicio() { if (!ListaVacia()) { if (Unico()) { P=null; }else{ Q=P; P=Q.Siguiente; Q.Siguiente=null; } } } public void EliminarFinal() { if (!ListaVacia()) { if (Unico()) { P=null; }else{ Q=P; while (Q.Siguiente!=null) { T=Q; Q=Q.Siguiente; } T.Siguiente=null; } } } public int Contar(ListaSimple L){ int C=0; if (!L.ListaVacia()) { L.Q= L.P; while (L.Q!=null) { C++; L.Q=L.Q.Siguiente; } } return C; } public void ImprimirLista() { if (ListaVacia()) { System.out.println("La Lista esta vacia, imposible imprimir datos"); }else{ Q=P; while (Q !=null) { System.out.println( " " + Q.Dato); Q=Q.Siguiente; } } } public Nodo Buscar (int buscado) { if (ListaVacia()) { System.out.println("La Lista esta Vacia"); }else{ Q=P; while (Q.Siguiente!=null) { if (Q.Dato==buscado) { return Q; } Q=Q.Siguiente; } } return null; } public void InsertarAntesNodo(int Valor, Nodo B){ Q=P; while (Q != B) { T=Q; Q=Q.Siguiente; } Nodo Nuevo= new Nodo(Valor, Q); T.Siguiente=Nuevo; } public void InsertarDespuesNodo(int Valor, Nodo B) { Nodo Nuevo = new Nodo(Valor); Nuevo.Siguiente=B.Siguiente; B.Siguiente=Nuevo; } } class Nodo { int Dato; Nodo Siguiente; public Nodo () {} public Nodo (int Valor) { Dato = Valor; Siguiente = null; } public Nodo (int Valor, Nodo Liga){ Dato = Valor; Siguiente = Liga; } } |