Examen Parcial Estructura de Datos. 31 de enero 2024. Parte II. 12 puntos.
PREG_II_1. (2 PUNTOS)
Suponiendo la siguiente definición de la clase Cola, la interfaz Pila y la clase PilaDinamica,
public abstract class Cola<E> implements Cloneable {
public abstract boolean esVacia ();
public abstract void anyadir (E e) throws ColaLlenaException;
public abstract E primero () throws ColaVaciaException;
public abstract void quitar () throws ColaVaciaException;
}
public interface Pila<E> {
public boolean esVacia ();
public void apilar (E v) throws DesbordamientoPilaException;
public void desapilar () throws PilaVaciaException;
public E cima () throws PilaVaciaException;
}
public class PilaDinamica<E> implements Pila<E> {
}
implemente en Java un método public static <E> void invertir (Cola<E> cola) que invierta el contenido
de cola y el resultado lo almacene en la propia cola.
PREG_II_2. (5 PUNTOS)
Dada una lista de enteros desordenados, escriba un programa en Java que los ordene de menor a
mayor utilizando una lista DOBLE encadenada. El programa debe:
Pedir al usuario que ingrese por teclado una serie de enteros separados por espacios, almacenándolos
en una lista DOBLE.
No utilices ArrayList ni colecciones.
Puede Crear un arreglo unidimensional del mismo tamaño que la lista DOBLE.
Recorrer la lista, extrayendo cada elemento e insertándolo en la posición correspondiente dentro de la
lista encadenada DOBLE, de modo que los elementos de la lista encadenada DOBLE queden ordenados
de menor a mayor.
Mostrar por pantalla lista encadenada DOBLE final ordenado.
Por ejemplo, si el usuario ingresa "5 1 4 2 3", el arreglo resultado debería ser [1, 2, 3, 4, 5].
PREG_II_3. (5 PUNTOS)
Dada una lista de enteros desordenados, escriba un programa en Java que los ordene de menor a
mayor utilizando una lista CIRCULAR encadenada. El programa debe:
Pedir al usuario que ingrese por teclado una serie de enteros separados por espacios, almacenándolos
en una lista CIRCULAR .
No utilices ArrayList ni colecciones.
Crea un LISTA CIRCULAR ENLAZADA del mismo tamaño que la lista.
Recorrer la lista, extrayendo cada elemento e insertándolo en la posición correspondiente dentro de la
lista encadenada CIRCULAR, de modo que los elementos de la lista encadenada CIRCULAR queden
ordenados de menor a mayor.
Mostrar por pantalla lista encadenada CIRCULAR final ordenado.
Por ejemplo, si el usuario ingresa "5 1 4 2 3", la lista resultado debería ser [1, 2, 3, 4, 5].