Hola a todos. Quería ver si alguien podía resolver el siguiente problema:
Se quiere implementar una central de turnos para una guardia.
Para ello se quiere guardar en una "Queue" los turnos que van sacando en
el día logrando así una cola.
● La "Queue" debe tener al menos un método add para agregar un
turno al final, un pop que te devuelva el primero y lo elimine de la
cola y un peek para poder revisar cual es el primero sin eliminarlo.
● La colección Array es la única que pueden usar de java.
Implementar todo lo necesario para que funcione el siguiente
programa de prueba y además agregar lo que consideren en las líneas
punteadas.
El programa de prueba agregando solamente código en las líneas
punteadas debe devolver la salida que se encuentra debajo.
Pistas:
T[] elements = (T[]) new Comparable[INITIAL_DIM];
Creación de un array de elementos genéricos comparables
Pueden usar en algún momento Arrays.sort(elements,fromIndex,toIndex);
public class TesterTP3 {
public static void main(String[] args) {
Queue<MedicalShifts> queueHospital = new QueueImplement<>();
queueHospital.add(new MedicalShifts("harry", 0));
queueHospital.add(new MedicalShifts("hermione", 3));
queueHospital.add(new MedicalShifts("ron", 1));
queueHospital.add(new MedicalShifts("luna", 5));
queueHospital.add(new MedicalShifts("voldemort", 8));
System.out.println(queueHospital.peek());
System.out.println(queueHospital.isEmpty());
try {
System.out.println(queueHospital.pop());
} catch (EmptyQueueException emptyQueue) {
System.out.println(emptyQueue.getMessage());
}
System.out.println(queueHospital.peek());
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
queueHospital.add(new MedicalShifts("hagrid", 4));
for (MedicalShifts shifts : queueHospital) {
System.out.println(shifts);
}
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
queueHospital.sort();
for (MedicalShifts shifts : queueHospital) {
System.out.println(shifts);
}
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
System.out.println(queueHospital.min(........);
}
harry
false
harry
hermione
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
hermione
ron
luna
voldemort
hagrid
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ron
hermione
hagrid
luna
voldemort
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
hagrid
Se quiere implementar una central de turnos para una guardia.
Para ello se quiere guardar en una "Queue" los turnos que van sacando en
el día logrando así una cola.
● La "Queue" debe tener al menos un método add para agregar un
turno al final, un pop que te devuelva el primero y lo elimine de la
cola y un peek para poder revisar cual es el primero sin eliminarlo.
● La colección Array es la única que pueden usar de java.
Implementar todo lo necesario para que funcione el siguiente
programa de prueba y además agregar lo que consideren en las líneas
punteadas.
El programa de prueba agregando solamente código en las líneas
punteadas debe devolver la salida que se encuentra debajo.
Pistas:
T[] elements = (T[]) new Comparable[INITIAL_DIM];
Creación de un array de elementos genéricos comparables
Pueden usar en algún momento Arrays.sort(elements,fromIndex,toIndex);
public class TesterTP3 {
public static void main(String[] args) {
Queue<MedicalShifts> queueHospital = new QueueImplement<>();
queueHospital.add(new MedicalShifts("harry", 0));
queueHospital.add(new MedicalShifts("hermione", 3));
queueHospital.add(new MedicalShifts("ron", 1));
queueHospital.add(new MedicalShifts("luna", 5));
queueHospital.add(new MedicalShifts("voldemort", 8));
System.out.println(queueHospital.peek());
System.out.println(queueHospital.isEmpty());
try {
System.out.println(queueHospital.pop());
} catch (EmptyQueueException emptyQueue) {
System.out.println(emptyQueue.getMessage());
}
System.out.println(queueHospital.peek());
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
queueHospital.add(new MedicalShifts("hagrid", 4));
for (MedicalShifts shifts : queueHospital) {
System.out.println(shifts);
}
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
queueHospital.sort();
for (MedicalShifts shifts : queueHospital) {
System.out.println(shifts);
}
System.out.println("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<");
System.out.println(queueHospital.min(........);
}
harry
false
harry
hermione
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
hermione
ron
luna
voldemort
hagrid
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
ron
hermione
hagrid
luna
voldemort
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
hagrid