[RESOLVIDO] Utilizando Fila Dinamica, Fila de Prioridade Dinamica ou Estatica,O Metodo HeapSort

Criar um programa onde, cada processo é objeto de uma classe, com os atributos (no mínimo):
int numero ? número seqüencial do processo;
int entrar ? momento de entrar na fila de processos (número hipotético em ms);
int executar ? quanto demora a execução (número hipotético em ms);
int prioridade ? urgência para a execução: de 0 (mínima) a 9 (máxima).
Seu programa escalona processos segundo as políticas:

política 1: os processos são mantidos em fila (eles são nela inseridos segundo entrar);
Os primeiros a entrar são executados primeiro (eles são executados e não mais guardados); Pode-se usar uma FIFO simples.

política 2: os processos são mantidos em fila (eles são nela inseridos segundo entrar);
* Os mais breves são executados primeiro (eles são executados e não mais guardados);
* Usar uma FIFO de Prioridade minima.

política 3: os processos são mantidos em fila (eles são nela inseridos segundo entrar);
Os mais urgentes são executados primeiro (eles são executados e não mais guardados);
A cada elemento colocado em execução, aumenta-se a prioridade do último da fila;
Usar uma FIFO de Prioridade minima.

política 4: usuário determina um ‘‘quantum’’ (número hipotético em ms, por exemplo);
Os processos são mantidos em fila; os primeiros a entrar são executados primeiro; eles são
executados durante 1 quantum, no máximo (todo processo não concluído em 1 quantum retorna à fila, para depois entrar novamente em execução).Pode-se usar uma FIFO simples.

Em seu programa, o usuário fornece: número de processos; entrar, executar, prioridade de cada um.

O programa mostra, a cada processo concluído, quando começou e acabou sua execução
(importante: não se preocupem em emular os tempos).

Podem me dar uma ideia de como faze-lo?

Para filas de prioridade, se você puder usar uma classe pronta do Java, use a classe java.util.PriorityQueue

OK. Eu ja usei esta classe recentemente, mas o problema é que eu estou trabalhando com um objeto que possuis umas 5 variaveis e o enfileirar so trabalha com 1 objeto.

Se eu mandar enfileirar, eu vou perder os outros.

O desenfileirar a mesma coisa

[quote=gpd38]OK. Eu ja usei esta classe recentemente, mas o problema é que eu estou trabalhando com um objeto que possuis umas 5 variaveis e o enfileirar so trabalha com 1 objeto.

Se eu mandar enfileirar, eu vou perder os outros.

O desenfileirar a mesma coisa[/quote]

Não é bem assim. O PriorityQueue trabalha inserindo objetos na fila mas mantendo sempre o menor objeto na frente desta fila. O que significa ser “maior” ou “menor” para objetos da classe em questão é você quem define, implementando na classe a interface Comparable.
Assim, seu objeto pode ter 89678945 atributos dentro dele que ainda assim nada se perderá e sua fila de prioridades funcionará corretamente.