Documentos de Académico
Documentos de Profesional
Documentos de Cultura
AGENDA:
Estructura de datos dinmica: Punteros y
referencias
SESIN N 6 2
LISTAS LISTAS
(IMPLEMENTACIN DE LA CLASE CLIENTE) (IMPLEMENTACIN DE LA CLASE NODO)
public class Cliente implements Serializable public class Nodo_Simple implements Serializable
{ {
private String Codigo = "", Nombre = ""; private Cliente Elemento;
private Nodo_Simple Siguiente;
Ing. CIP Loncn Salazar, Pierre Paul
LISTAS LISTAS
(IMPLEMENTACIN BSICA DE UNA LISTA) (RECORRIDO DE UNA LISTA)
public class Lista_Simple implements Serializable Lista 8 1 2
{ INICIO FIN Cod: 001 n
1 Cod: 002 n
2 Cod: 003 n
private Nodo_Simple Inicio, Fin; u u u
8
null null
8
1
2 Nom: Juan l Nom: Pedro l Nom: Mara l
LISTAS LISTAS
(IMPLEMENTACIN RECORRIDO - CONTAR) (IMPLEMENTACIN RECORRIDO - SUMAR)
public int Contar() public double Suma_Sueldo()
{ {
// Empieza al inicio de la lista // Empieza al inicio de la lista
Nodo_Simple_Cliente Auxiliar = Inicio; Nodo_Simple_Empleado auxiliar = Inicio;
Ing. CIP Loncn Salazar, Pierre Paul
LISTAS LISTAS
(IMPLEMENTACIN RECORRIDO - SUMAR) (IMPLEMENTACIN RECORRIDO - PRECIO)
public double Suma_Sueldo() public void Incrementa_Precio(double tasa )
{ {
// Acumulador tipo double // Empieza al inicio de la lista
double suma = 0; Nodo_Simple_Producto auxiliar = Inicio;
Ing. CIP Loncn Salazar, Pierre Paul
LISTAS LISTAS
(IMPLEMENTACIN RECORRIDO - PRECIO/CAT) (INSERTAR UN ELEMENTO) AL INICIO
public void Incrementa_Precio(double tasa , String Categoria) Lista 23 19
{ n
// Empieza al inicio de la lista FIN Cod: 130 19 Cod: 218
INICIO u
Nodo_Simple_Producto auxiliar = Inicio;
23 null
19
8
1 Nom: Juan Nom: Luis l
LISTAS LISTAS
(INSERTAR UN ELEMENTO) AL FINAL (INSERTAR UN ELEMENTO) INTERMEDIO
Lista 23 19 Lista 23 19
Cod: 130 19 Cod: 218 n Cod: 130 19 Cod: 218 n
INICIO FIN u INICIO FIN u
23 null
19
8
1 Nom: Juan Nom: Luis l 23 null
19
8
1 Nom: Juan Nom: Luis l
Ing. CIP Loncn Salazar, Pierre Paul
LISTAS LISTAS
(INSERTAR UN ELEMENTO) AL INICIO (INSERTAR UN ELEMENTO) AL FINAL
public void Agregar_Inicio(Cliente Elemento) public void Agregar_Fin(Cliente Elemento)
{ {
//Crear Nodo //Crear Nodo
Nodo_Simple Nuevo = new Nodo_Simple(Elemento); Nodo_Simple Nuevo = new Nodo_Simple(Elemento);
Ing. CIP Loncn Salazar, Pierre Paul
if(Inicio == null) //Pregunta si no hay nodos if(Inicio == null) //Pregunta si no hay nodos
{ {
//Se apunta al nico nodo //Se apunta al nico nodo
Inicio = Fin = Nuevo; Inicio = Fin = Nuevo;
} }
else else
{ {
//se agrega al inicio de la lista //se agrega al final de la lista
Nuevo.setSiguiente(Inicio); Fin.setSiguiente(Nuevo);
//se actualiza el inicio de la lista //se actualiza el final de la lista
Inicio = Nuevo; Fin = Nuevo;
} }
} 17 } 18
LISTAS LISTAS
(INSERTAR UN ELEMENTO) INTERMEDIO (BUSCAR UN ELEMENTO)
public void Agregar_Intermedio(Nodo_Simple Anterior, Cliente Elemento) Lista 23 25 19
{ Cod: 130 25 Cod: 75 19 Cod: 218 n
//Crear Nodo INICIO FIN u
Nodo_Simple Nuevo = new Nodo_Simple(Elemento); 23 null
19
8
1 Nom: Juan Nom: Ines Nom: Luis l
LISTAS LISTAS
(BUSCAR UN ELEMENTO) (ELIMINAR UN ELEMENTO) AL INICIO
public Nodo_Simple Busca_Codigo(String codigo) Lista 23 25 19
{ Cod: 130 25 Cod: 75 19 Cod: 218 n
// empieza al inicio de la lista INICIO FIN u
Nodo_Simple auxiliar = Inicio; 23 null
19
8
1 Nom: Juan Nom: Ines Nom: Luis l
Ing. CIP Loncn Salazar, Pierre Paul
21 23
25 19 22
LISTAS LISTAS
(ELIMINAR UN ELEMENTO) AL FINAL (ELIMINAR UN ELEMENTO) INTERMEDIO
Lista 23 25 19 Lista 23 25 19
Cod: 130 25 Cod: 75 19 Cod: 218 n Cod: 130 25 Cod: 75 19 Cod: 218 n
INICIO FIN u INICIO FIN u
23 null
19
8
1 Nom: Juan Nom: Ines Nom: Luis l 23 null
19
8
1 Nom: Juan Nom: Ines Nom: Luis l
Ing. CIP Loncn Salazar, Pierre Paul
l l
LISTAS LISTAS
(ELIMINAR UN ELEMENTO) (ORDENAR NODOS)
public void Elimina_Nodo(Nodo_Simple Auxiliar) public void OrdenarSeleccion_PorNombre()
{ {
if(Auxiliar == Inicio) // Si el nodo a eliminar es el inicial Class_Cliente Temp;
{ Class_Nodo_Simple Menor, Auxiliar_J, Auxiliar_X;
Inicio = Auxiliar.getSiguiente(); Auxiliar_J = Inicio;
EJERCICIO 01 PARTE 1
Desarrolle una Aplicacin que permita gestionar
datos sobre mascotas en forma de una Lista
Simple:
Cree una Clase Mascota:
Ing. CIP Loncn Salazar, Pierre Paul
Nombre (String)
Raza (String)
Propietario (String)
Constructor en blanco
{
Codigo = Registro[0].toString();
Nombre = Registro[1].toString(); Siguiente (NodoMascota)
Raza = Registro[2].toString();
Con los mtodos siguientes mtodos
Propietario = Registro[3].toString();
} Constructor Recibe una instancia de la clase Mascota
public Object[] getRegistro()
{ Getter y Setter de cada Atributo
Object[] Registro = {Codigo,Nombre,Raza,Propietario};
return Registro;
}
public String getCodigo() {return Codigo;}
public void setCodigo(String Codigo) {this.Codigo = Codigo;}
public String getNombre() {return Nombre;}
public void setNombre(String Nombre) {this.Nombre = Nombre;}
public String getRaza() {return Raza;}
public void setRaza(String Raza) {this.Raza = Raza;}
public String getPropietario() {return Propietario;}
29
public void setPropietario(String Propietario) {this.Propietario = Propietario;} 30
}
31 32
35 36
while(Actual.getSiguiente() != Auxiliar)
{
Actual = Actual.getSiguiente();
}
if(Auxiliar == Fin)
{
Actual.setSiguiente(null);
Fin = Actual;
}
else
{
Actual.setSiguiente(Auxiliar.getSiguiente());
}
}
}
37 38
EJERCICIO 01 PARTE 7
Desarrolle una Aplicacin que permita gestionar
datos sobre mascotas en forma de una Lista
Simple:
Disee el Siguiente Dialogo:
Ing. CIP Loncn Salazar, Pierre Paul
39