Fila com prioridade

Oi pessoal, eu gostaria de saber se alguém poderia me ajudar com esse probleminha de estrutura de dados:

Eu tenho uma classe FilaArray em que é uma fila em array, e eu tenho que transformá-la em uma fila com prioridade:

Ex:
Fila normal - inserir©, inserir(B), inserir(D), inserir(A). Quando eu imprimir a fila ela estará CBDA.

Fila Prioritaria - inserir(C,1), inserir(B,2), inserir(D,0), inserir(A,4); Quando eu imprimir a fila ela estará ABCD.

Método inserir em FilaArray:

[code]
public boolean inserir(Object dado) {
if (cheia())
return false;

	if (vazia()){
		this.fila[0] = dado;			
	}
	else {
		if (this.tamanho < this.fila.length){
			this.fim = avancarIndice(this.fim);
			this.fila[fim] = dado;
		}
	}
	
	this.tamanho++;
	return true;
}[/code] 

No caso eu teria que editar esse método, que quando eu inserir na fila, tenho que primeiro verificar as prioridades de cada elemento da fila, pra saber onde devo inserir o novo elemento
A minha pergunta é: Como eu vou guardar as prioridades para cada elemento (dado) da lista ? teria que colocar as respectivas prioridades em um array auxiliar?
(Lembrando que não posso usar nenhuma das classes prontas do Java como Queue, PriorityQueue);

Se puderem me ajudar agradeço =)

Quanto maior o número, maior a prioridade, é isso ?
Uma matriz não resolveria seu problema ? Podes guardar na linha o valor e na coluna a prioridade, ou vice-versa.

Disse não poder usar classes do Java, fala somente das referentes as filas, como a Queue que citou ou todas ?
Porque um Map resolveria essa questão, acredito eu.

Matriz seria a opção se não pode usar outras classes mais sofisticadas.

Isso msm, quanto maior o número maior a prioridade, se 2 tiverem a mesma prioridade o que foi inserido depois fica na frente do que foi inserido antes, vou tentar ver se uma matriz é uma boa solução :slight_smile:

Isso não é um problema muito simples. Recomendo usar a java.util.PriorityQueue e/ou olhar o código fonte.