ae pessoal, fiqueo com duvida na linha 24 desse codigo pq o valor passado tem quer ser 10? eu coloquei 0 e deu erro nao compreendi essa sintaxe!! alguem pode me ajudar?
import java.util.*;
class Pq{
static class PQsort implements Comparator<Integer>{
public int compare(Integer on, Integer tow){
return tow - on;
//ordeno pela ordem inversa
}
}
public static void main(String args[]){
int[] ia = {1,5,3,6,7};
PriorityQueue<Integer> pq1 = new PriorityQueue<Integer>();
for(int x : ia)
//carrega os elementos do array e ordena por ordem natural
//observe que agora tenho um conjunto com os elementos do array
pq1.offer(x);
for(int x : ia)
System.out.print(pq1.poll() + " ");
System.out.println();
//vou realizar uma classificacao usador Comparator
PQsort pqs = new PQsort();
PriorityQueue<Integer> pq2 = new PriorityQueue<Integer>(10,pqs);
//aqui carrego meu array para meu comparator
for(int x : ia)
pq2.offer(x);
System.out.println("size " + pq2.size());
System.out.println("peek " + pq2.peek());
System.out.println("size " + pq2.size());
//imprimo o ultimo cara que foi removido
System.out.println("poll " + pq2.poll());
System.out.println("size " + pq2.size());
for(int x : ia)
System.out.print(pq2.poll() + " ");
}
}
valeu!!