RESPONDER UNA PREGUNTA

Si para responder la pregunta, crees necesario enviar un archivo adjunto, puedes hacerlo a traves del correo [email protected]

    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;
}
}


Nombre
Apellidos
Correo
Comentarios