Lista Ordenada

4 respostas
G

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);

}
}

4 Respostas

V

usa um TreeSet para guardar teus valores/prioridade e implementa um Comparator para fazer a comparação destes objetos

G

Ola viecili

vc poderia estar me passar um exemplo ou alguma coisa… estou começando a fuçar no java agora… e aprendendo na faculdade um pouco tb

seria de grande ajuda

Obrigado

V

Dê uma olhada na API java e veja como funcionam estas classes que mantém ordenação dos elementos (SortedSet)
Comece com testes simples, sem o Comparator, depois implemente um Comparator para seus objetos especificos… vá evoluindo de pouco em pouco já que vc está recém no início mesmo…
Se der um tempo, hoje ao meio-dia eu bolo um exemplo…

G

blz
vlw viecili…

Criado 22 de março de 2005
Ultima resposta 23 de mar. de 2005
Respostas 4
Participantes 2