Las colas prioritarias se pueden implementar utilizando montones. Una cola ordinaria es una estructura de datos de primero en entrar, primero en salir. Los elementos se agregan al final de la cola y se eliminan desde el principio. En una cola de prioridad, a los elementos se les asignan prioridades. Al acceder a elementos, primero se elimina el elemento con mayor prioridad. Por ejemplo, la sala de urgencias de un hospital asigna números de prioridad a los pacientes; el paciente con mayor prioridad es tratado primero.
Se puede implementar una cola de prioridad utilizando un montón, en el que la raíz es el objeto con mayor prioridad en la cola. Los montones se introdujeron en Heap Sort. El diagrama de clases para la cola de prioridad se muestra en la Figura siguiente. Su implementación se proporciona en el siguiente código.
El siguiente código proporciona un ejemplo del uso de una cola de prioridad para pacientes. La clase Paciente se define en las líneas 21 a 38. Se crean cuatro pacientes con valores de prioridad asociados en las líneas 6 a 9. La línea 8 crea una cola prioritaria. Los pacientes se ponen en cola en las líneas 12 a 15. La línea 18 saca a un paciente de la cola.
Cindy(prioridad:7) Tim(prioridad:5) John(prioridad:2) Jim(prioridad:1)
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3