miércoles, 20 de julio de 2011

LISTAS SIMPLES EN JAVA

LISTAS.-  UNA LISTA ES UNA SECUENCIA DE ELEMENTOS EN LAS QUE PODEMOS
INSERTAR Y ELIMINAR. LA LONGITUD DE LA LISTA PUEDE AUMENTARSE O REDUCIRSE CONFORME EL USUARIO LA CREA NECESARIO.




PASOS PARA CREAR UNA LISTA:
1.-CREAMOS LA CLASE NODO CON SU ATRIBUTOS PRI, ULT, SIGUIENTE
2.-LUEGO CREAMOS LA CLASE LISTA  CON SUS ATRINUTOS DE CLASE NODOS.
EJEMPLO:
CLASE  NODO:

public class Nodo {

   //Atributos del la clase nodo
   Object Dato;
   Nodo Sig;
   //Constructor del nodo para crear un objeto
   public Nodo(Object Valor){
   Dato=Valor;
   Sig=null;
   }
//Constructor del nodo para crear un objeto del siguiente nodo
   public Nodo(Object Valor,Nodo Sign){
   Dato=Valor;
   Sig=Sign;
   }

}



CLASE LISTA:

import javax.swing.JOptionPane;

public class Lista {
    //Atributos de la lista
    Nodo Pri;
    Nodo Ult;
    String Nom;
    //Constructor de la lista
    public Lista(String n){
    Pri=Ult=null;
    Nom=n;
    }
    //Constructor
    public boolean ListaVacia(){//EN CASO DE  QUE LA LISTA ESTE VACIA
    if(Pri==null){
        return true;
    }
    else{
        return false;
    }
    }
    //Nombre de la lista
    public Lista(){
    this("Lista");
    }
    //Metodo para insertar por el frente de la lista
    public void Ifrente(Object Elem){
    if(ListaVacia()){
    Pri=Ult=new Nodo(Elem);
    }
    else{
    Pri=new Nodo(Elem,Pri);
    }
    }
    //Metodo para insertar por la parte posterior de la lista
    public void Iposterio(Object Elem){
    if(ListaVacia()){
    Pri=Ult=new Nodo(Elem);
    }
    else{
    Ult=Ult.Sig=new Nodo(Elem);
    }
    }
    //Metodo para mostrar los datos de a lista
    public void Mostrar(){
    Nodo Actual=Pri;
    if(ListaVacia()){
    System.out.println("La "+Nom+" esta vacia");
    }
   
    while(Actual!=null){
    System.out.println(Actual.Dato);
    Actual=Actual.Sig;
    }
    }
    //Metodo para eliminar el frente de la lista
    public void Efrente(){
    if(ListaVacia()){
    Pri=Pri.Sig;
    }
    else if(Pri.equals(Ult)){
    Pri=Ult=null;
    }
    else{
    Pri=Pri.Sig;
    }
    }
    //Metodo para eliminar el posterior de la lista
    public void Eposterior(){
    if(ListaVacia()){
    Pri=Pri.Sig;
    }
    else if(Pri.equals(null)){
    Ult=null;
    }
    else{
    Pri=Pri.Sig;
    }
    }
}



4 comentarios:

  1. eres un capo muchas gracias me sirvió de mucho n_n

    ResponderEliminar
  2. una pregunta ocupa el metodo main. para que lo corra. o porque me pide el metodo !!

    ResponderEliminar
  3. I.-Basando en las Estructuras Pila Y Cola, sé pide realizar lo siguiente:
    1.-Definir una Clase Nodo que tenga los siguientes atributos:
    A. Rut (int)
    B. Dig (String)
    C. Paterno (String)
    D. Materno (String)
    E. Nombres (String)
    2.- Definir par alas Clase Pila y Cola la Clase Nodo definida.
    3.-Crear un Menú que permita:
    A. Agregar
    B. Eliminar
    C. Mostrar
    D. Reemplazar (debe buscar por Rut y si lo encuentra mostrar los datos e ingresar datos nuevos excepto Rut y Dig)

    ResponderEliminar