Submit | All submissions | Best solutions | Back to list |
EDUPT14 - Fila de prioridade |
Fila de Prioridade/Ordenada
Nós vimos em sala de aula a estrutura de dados fila, cujo funcionamento é igual a uma fila de supermercado ou de banco. O 1o a entrar na fila é o 1o a sair.
Existe um outro tipo de fila conhecida como fila de prioridade ou fila ordenada, onde os elementos são colocados na fila dependendo do seu valor, de maneira que a fila fique sempre ordenada pelos seus valores. Você pode imaginar como exemplo uma fila de lotérica, onde clientes idosos podem passar na frente dos clientes "normais". Ela ainda funciona como uma fila, mas ao inserir um elemento na fila (enqueue) ele deve ser inserido em ordem pelo seu valor.
Crie um programa em C que usa uma fila de prioridade/ordenada em ordem crescente que recebe como entrada comandos e valores, executando esses comandos.
Entrada
A entrada pode ser um COMANDO sozinho, ou então um COMANDO seguido de um VALOR.
Os comandos são: 1 -> inserir na fila (enqueue), 2 -> remover da fila (dequeue) e 3 -> mostrar a fila e terminar o programa. O comando inserir tem logo a seguir qual o valor a ser inserido.
Saída
A saída vai ser a saída do comando mostrar que também termina o programa.
Exemplo de entrada:
1 10
1 5
1 15
1 2
1 25
2
2
1 3
1 12
3
Exemplo de saída
3 10 12 15 25
Added by: | IFTM_Maratona |
Date: | 2022-12-14 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | C |