Professional Documents
Culture Documents
TAD Listas Simples TAD Listas doblemente Enlazadas TAD Pilas TAD Colas
nodos y enlaces
-3
Ejemplo Lista de calificaciones ::= {Alumno1, Alimno2, ., Alumnon} Alumnoi ::= {DNI, NIA, Apellido1, Apellido2, Nombre, Calificacin}
-4
posicin = i
head
E1
next
E2
next
En
next
next
-9
- 10
12
next
next
12
next
=
- 11
25
next
next
12
next
= removeFirst() head
next
25
next
removeFinal() head
next
=
- 12
Ejemplo Lista de calificaciones ::= {Alumno1, Alimno2, ., Alumnon} Alumnoi ::= {DNI, NIA, Apellido1, Apellido2, Nombre, Calificacin}
Las operaciones que pueden realizarse sobre las listas ordenadas son muy similares a las de las listas simples, excepto: Insercin de un elemento (insercin ordenada) Bsqueda de un elemento (es ms eficiente)
- 13
12
next
next
25
next
La implementacin es similar a una lista simple, con la diferencia de que en la clase SListCircular hay que modificar los mtodos, donde el ultimo nodo de la lista apunta al primero, Ej. Insertar newNodo en el ultimo de la lista: newNodo.next=head;
- 14
Ejercicio I
Implemente los mtodos siguientes en la clase Slist:
public void addLast(Node<E> newNodo) ; // aadir el nodo v al final de la lista. public void addAfter(E e, Node<E> newNodo) ; // agregar el nuevo nodo justo despus del nodo que contiene el elemento e. public void removeLast() ; // elimina el ultimo nodo de la lista. public void remove(E e) ; // elimina todos los nodos que contienen el elemento e.
- 15
Ejercicio II
Implemente un programa de Java que crea una lista simple para almacenar los productos de una fabrica (id, nombre, precio). La lista tiene que ser ordenada de menor a mayor segn id, implementa: El mtodo insertProduct (para realizar insercin ordenada) public class Product {} public class SNode<E> {} public interface ISList<E> {} public class SList<E> implements ISList{}
- 16
Ejercicio II
public class ProductsFactory extends Slist<Product>{ public boolean insertProduct(Product prod) { para implementar }
public static void main(String[] args) { ProductsFactory fabrica = new ProductsFactory(); Product p1 = new Product (16, "Porttil", 543.5f); fabrica.insertProduct(p1); Product p2 = new Product (12, "Impresora", 223.45f); fabrica.insertProduct(p2); Product p3 = new Product (14, "Pantalla", 112.65f); fabrica.insertProduct(p3); Product p4 = new Product (11, "Ratn", 15.55f); fabrica.insertProduct(p4); fabrica.showProduct(); System.out.println(fabrica.size); } }
- 17