As filas prioritárias podem ser implementadas usando heaps. Uma fila comum é uma estrutura de dados do tipo primeiro a entrar, primeiro a sair. Os elementos são anexados ao final da fila e removidos do início. Em uma fila de prioridade, os elementos são atribuídos com prioridades. Ao acessar elementos, o elemento com maior prioridade é removido primeiro. Por exemplo, o pronto-socorro de um hospital atribui números prioritários aos pacientes; o paciente com maior prioridade é tratado primeiro.
Uma fila de prioridade pode ser implementada usando um heap, no qual a raiz é o objeto com maior prioridade na fila. Heaps foram introduzidos no Heap Sort. O diagrama de classes para a fila de prioridade é mostrado na Figura abaixo. Sua implementação é dada no código abaixo.
O código abaixo dá um exemplo de uso de uma fila prioritária para pacientes. A classe Patient é definida nas linhas 21–38. Quatro pacientes são criados com valores de prioridade associados nas linhas 6–9. A linha 8 cria uma fila de prioridade. Os pacientes são enfileirados nas linhas 12–15. A linha 18 retira um paciente da fila.
Cindy(prioridade:7) Tim(prioridade:5) John(prioridade:2) Jim(prioridade:1)
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3