ACTIVIDAD 3
Listas Simplemente Ligadas
1. Diseñar un Algoritmo con listas simplemente ligadas que almacene datos enteros y debe mostrar cual es el dato mayor de la lista.
2. Sobre la lista anterior hallar el promedio de los números enteros almacenados en la lista.
Entregables:
- Los algoritmos
- Prueba de Escritorio
- Diseñar un programa en uno de los lenguajes que manejen hasta el momento.
Implementación Lenguaje de Programación Java:
Clases: ListaEnlazada y Nodo.
Clase Nodo:
package Actividad;
public class Nodo {
int dato;
Nodo siguiente;
public Nodo (int dato) {
this.dato = dato;
this.siguiente = null;
}
}
Clase ListaEnlazada
package Actividad;
public class ListaEnlazada {
private Nodo primero;
private int size;
public ListaEnlazada () {
this.primero = null;
this.size = 0;
}
public void ListaVacia () {
if (primero == null) {
System.out.print ("La lista está vacía");
}else {
System.out.print ("La lista tiene datos");
}
}
public void addNodo (int dato) {
Nodo nuevo = new Nodo (dato); //Se añade nodo
nuevo.siguiente = primero; // ir a primer nodo
primero = nuevo; //inserta nodo de primero
size++;
}
public int size () {
return size;
}
public void Listar() {
Nodo actual = primero;
while (actual != null) {
System.out.print ("["+ actual.dato +"]->");// se llama atributo dato tipo entero
actual = actual.siguiente; //el nodo actual es = actual y pasa a nodo siguiente
}
}
public void promedio()
{
Nodo aux=primero;
int suma=0;
double promedio;
while(aux!=null)
{
suma= suma+ aux.dato;
aux=aux.siguiente;
}
promedio=suma/5;
System.out.println("El promedio de la lista es:"+promedio);
}
public static void main (String[] args) {
ListaEnlazada lista = new ListaEnlazada();
lista.ListaVacia();
System.out.println ("");
lista.addNodo(22);
lista.addNodo(79);
lista.addNodo(43);
lista.addNodo(80);
lista.Listar();
System.out.println ("tamaño: "+lista.size());
System.out.println ("");
lista.ListaVacia();
}
}