bom estou com um problema que é o seguinte.
no meu codigo tenho um metodo enfileirar… que recebe o objeto e a prioridade dele. O que eu preciso fazer eh o seguinte.
o enfileirar precisa colocar os valores no vetor de acordo com a ordem da prioridade…
ex;
se recebe prioridade 1 entaum poe no começo da fila, se recebe prioridade 4 poe noultimo lugar da fila… se recebe prioridade 1 novamente entaum pode atras do que ja tem prioridade igual a dele… bom eh basicamente isso…
não estou conseguindo fazer funcionar…
a logica ja esta feita… porem esta dando varios erros… não entendo muito de java… alguem pode dar uma luz por favor !
public class Fila
{
private Object fila[];
private int prio[]=new int[100];
public int fimFila = 0;
public int incioFila = 0;
// ******** Classe enfileirar
public void Enfileirar(Object passageiro, int prioridade)
{
// Primeira Pessoa da Fila
if(this.fimFila == this.incioFila)
{
fila[this.incioFila] = passageiro;
prio[this.incioFila] = prioridade;
}
else
{ // Encontra espaço na fila de final para o inicio
int indice;
for( indice = this.fimFila; indice == this.incioFila; indice-- )
{
if(prio[indice] <= prioridade )
{
fila[indice + 1] = passageiro;
prio[indice + 1] = prioridade;
}
else
{
fila[indice + 1] = fila[indice];
prio[indice + 1] = prio[indice];
}
}
}
// Atualiza final da fila
this.fimFila ++;
}
public static void main(String args[])
{
String nome;
nome="";
Passageiro p = new Passageiro();
Fila f = new Fila();
p.setValores("Gustavo","",0);
f.Enfileirar(p,2);
p.setValores("Sandra","",0);
f.Enfileirar(p,1);
p.setValores("Joao","",0);
f.Enfileirar(p,3);
}
}