Laboratorio Nro. 05
Laboratorio Nro. 05
LABORATORIO NRO. 05
1. OBJETIVOS DE LABORATORIO
1.1. Implementar lista simple enlazadas
1.2. Aplicar la estructura Lista para almacenar datos
1.3. Aprender a definir y manipular estructuras de listas simples enlazadas.
1.4. Realizar operaciones con listas simples enlazadas.
2. REVISIÓN TEÓRICA
2.1. Clases de Autorreferencia
Los objetos de autorreferencia pueden vincularse entre sí para formar estructuras de datos
útiles como listas, pilas y árboles.
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
ESTRUCTURA DE DATOS (IS-241)
2.2. Asignación dinámica de memoria
El operador new es fundamental para la asignación dinámica de memoria. Este operador
tiene como argumento el tipo del objeto al que se le asignara memoria dinámicamente y
devuelve una referencia al objeto de ese tipo.
Asigna el número apropiado de bytes para almacenar un nodo y almacena una referencia
a esta memoria en nodoToAdd.
Accedemos a los nodos subsecuentes a través del miembro de referencia del enlace
almacenado en cada nodo. La referencia de enlace del último nodo se pone en null para
marcar el final de la lista.
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
ESTRUCTURA DE DATOS (IS-241)
2.4. OPERACIONES EN LISTAS ENLAZADAS
La implementación del TAD de una lista requiere, primer lugar declarar la clase nodo, en
las que se combinaran sus dos partes: el dato y un enlace (referencia). A demás la clase
lista con sus operaciones y el atributo con la cabeza de la lista.
Las operaciones son los siguientes:
a) Inicialización o creación
b) Insertar un elemento en la lista
c) Remover elemento de una lista
d) Buscar elemento de una lista
e) Recorrer la lista
3. DESARROLLO DE LABORATORIO
3.1. Ejercicios resueltos de listas.
A. Cree la clase Nodo auto referenciado, para realizar una la lista simple enlazada.
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
ESTRUCTURA DE DATOS (IS-241)
package ListaSimple;
public ListaSimple() {
primero=null;
}
}
En la clase ListaSimple cree el método “toStream”, este método recorre la lista y muestra
todos los elementos de la lista simplemente enlazada.
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
ESTRUCTURA DE DATOS (IS-241)
Explique el método toStream.
else
primero=nuevo;
return this;
}
Nodo actual=primero;
if (primero!=null ){
primero=actual.getSiguiente();
actual.setSiguiente(null);
}
return this;
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
ESTRUCTURA DE DATOS (IS-241)
Explique el método eliminarInicio.
package ListaSimple;
import java.util.Scanner;
Copie la salida:
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa
UNIVERSIDAD NACIONAL DE SAN CRISTÓBAL DE HUAMANGA
ESCUELA PROFESIONAL DE INGENIERÍA DE SISTEMAS
ESTRUCTURA DE DATOS (IS-241)
Explique el resultado.
3.2.1 Realice una estructura para implementar una lista simple enlazada utilizando los
métodos accesores y modificadores (get() y set()), las opciones de la lista simple
enlazada será:
a. Agregar un elemento al Inicio de la Lista
b. Mostrar los datos de la lista
c. Agregar un elemento al final de la Lista
d. Eliminar un elemento al Inicio de la Lista
e. Eliminar un elemento al Final de la Lista
f. Eliminar un elemento determinado de la lista
g. Buscar un elemento en la lista
h. Ordenar la lista
i. Inserta un nuevo elemento luego de haber encontrado un elemento en la lista.
3.2.2 Crear una lista simplemente enlazada y realizar un menú donde pueda hacer lo siguiente:
Agregar, Mostrar, Ingresar al final, ingresar al inicio, mayor numero, menor número,
promedio.
3.2.3 Crear una lista enlazada de números enteros positivos al azar, la inserción se realiza por
el último nodo.
3.2.4 Realizar un programa de una lista simplemente enlazada que pueda cumplir con las
siguientes instrucciones:
a. Añadir un elemento en la posición “n”
b. Delvolver la posición “n” de un elemento
c. Ordenar de forma creciente la lista
d. Verificar si una lista esta ordenada
e. Invertir lista
f. Agregar un elemento en la lista ordenada
h. Mostrar el mayo elemento.
i. Mostrar el menor elemento.
j. Mostrar la suma de los elementos.
k. Mostrar la cantidad de elementos pares.
l. Verificar que no se repita el elemento ingresado.
Docentes:
Ing. Jennifer Rocío Pillaca De La Cruz
Ing. Fredy Barrientos
Ing. Alberto Lapa