Tema 1. Listas Simples

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 12

Concepto Concepto

Una lista enlazada simple es una Son estructuras de datos semejantes


estructura de datos en la que cada a los arrays salvo que la asignación
elemento o nodo apunta al siguiente. de memoria es hecha durante la
Cada nodo (excepto el último) enlaza ejecución. No se deben confundir
con el nodo siguiente, y el enlace del con los arrays, a estos debemos
último nodo contiene null para indicar definirles el tamaño que tendrán al
el final de la lista. La lista es eficiente momento de crearlos.
en recorridos directos (“adelante”).
Nodo
• Datos (Información)
• Enlace o apuntador (Apunta al siguiente nodo)
Value Next

Nodos enlazados
Los nodos forman una secuencia desde el primer elemento al último elemento. El primer
nodo se enlaza al segundo, éste se enlaza al tercero y así sucesivamente hasta llegar al
último nodo, que debe ser representado de forma diferente para especificar que este nodo
no se enlaza a ningún otro.

head
Diseño de una lista: Requerimientos
Diseño de una lista: Requerimientos
Diseño de una lista
Creación de un Nodo

Una lista enlazada se


compone de una serie de
nodos enlazados. En
Java, se declara una clase
para contener las dos
partes del nodo: dato y
siguiente.

Métodos get y set


Creación de la lista
Se debe crear la cabeza
(inicio) de la lista.

Cuando se necesite
asignar un valor a la
cabeza de la lista o
consultar su valor, se
pueden utilizar los
métodos get y set
Insertar elementos en la lista
//método que busca un nodo
específico
public Node searchNode(int
value) {
Node q = head;
while(q!=null) {
if(q.getValue()==value) //método que retorna el tamaño de
return q; la lista
q=q.getNext(); public int size(){
} int counter = 0;
return null; Node q = head;
} while (q!=null){
counter++;
q = q.getNext();
}
return counter;
}
Actividad 1:
• Desarrollar un programa que permita almacenar N notas de un estudiante y
genere como resultado la nota final del estudiante. La nota final se calcula
realizando el promedio.
• Desarrollar un programa que lea una frase por pantalla, almacene la frase
carácter a carácter en una lista y genere como resultado cuantas letras ‘a’ tiene
la frase.
• Desarrollar un programa que almacene N nombres de estudiantes, y genere
como resultado aquellos nombres que empiecen por una vocal.
• Desarrollar un programa que permita almacenar el nombre y las notas de N
estudiantes de la asignatura de estructura de datos. Los datos de los estudiantes
y sus notas deberán ingresarse por consola. Así mismo, se debe desarrollar uno
o más métodos que den como resultado, el estudiante con mayor nota, el
estudiante con menor nota y cuantos estudiantes pasaron la asignatura con
nota mayor a 4.0.
• Desarrollar un programa en lenguaje java que permita almacenar en nombre, la
edad y el peso de N deportistas. Los datos de los deportistas deberán ingresarse
por consola. El programa debe crear dos listas adicionales, la primera con los
datos de los deportistas con su peso y la segunda, los datos de los deportistas
con su edad. Mostrar las dos listas.
Actividad 2:
1. Desarrollar un programa que, dada una lista que contiene números, la
divida en dos listas independientes, una formada por los números
pares y otra por los números impares.
2. Desarrollar un método que permita insertar ordenadamente los
elementos de una lista.
3. Desarrollar un método que permita invertir el contenido de una lista.
4. Programa que pide por pantalla información del nombre y edad de n
estudiantes y le calcula, el estudiante de mayor edad y el promedio de
edad de todos los estudiantes.

*** para las tres primeras actividades, la lista se debe llenar con números
generados aleatoriamente entre un rango solicitado por pantalla) *****

También podría gustarte