Dúvida sobre iteradores

1 resposta
J

Boa noite,

Pessoal, não precisa resolver o exercício, apenas quero alguma dica para resolvê-lo, acho que eu poderia usar iterador para resolver com mais eficiência, mas esta foi justamente a parte que menos entendi este semestre… Se alguém puder me auxiliar agradeço.

Segue questão…

Uma fila de prioridade é uma coleção linear de itens na qual a cada item está associada uma prioridade. Dada uma destas filas, podemos determinar o item de maior (menor) prioridade. Os itens são inseridos na fila de prioridade em uma ordem arbitrária qualquer. Entretanto, os itens são removidos de acordo com sua ordem de prioridade, iniciando por aquele de maior prioridade. É possível implementar uma fila de prioridade utilizando listas. Dica: os elementos que são inseridos na fila de prioridade devem implementar a interface Comparable[color=darkblue] [/color]

Grato,
Jeferson Neves

1 Resposta

A

Jeferson não consigo escrever o código completo aqui para você, também não é o que você quer. Então vou te dar a idéia.

Você vai criar uma classe com esses item.
Esta classe implementara a interface Comparable.
Comparable é a uma interface utlizada pelos métodos Collections.sort() e java.util.Arrays.sort() para classificar Lists e arrays de objetos.

Voce apenas precisará implementar o método compareTo()

public class Item implements Comparable<Item>   //implementa a interface comparable e define que somente pode comparar com outro 'tem'
{
    private int cod;
    private String nome;
    private String prioridade;

   public int compareTo(Item i)
    {
          return prioridade.compareTo(i.getPrioridade());


    }
...


}

Depois que você fizer essa classe voce pode criar um List e utilizar o sort().
Daí poderá ordenar por prioridade como no caso.

Dá uma olhada na interface comparable para entender melhor.

Criado 18 de maio de 2010
Ultima resposta 18 de mai. de 2010
Respostas 1
Participantes 2