展开全部
可以用java1.7的优先队列,实现相应对象的比32313133353236313431303231363533e78988e69d8331333337373665较器class Point {
int x, y;
public Point(int x, int y) {
this.x = x;
this.y = y;
}
public String toString() {
return "(" + x + ", " + y + ")";
}
}
public class PQTest {
public static void main(String[] args) {
Queue pq = new PriorityQueue(11, new Comparator() {
@Override
public int compare(Point o1, Point o2) {
if (o1.x > o2.x && o1.y > o2.y)
return 1;
else if (o1.x
return -1;
else
return 0;
}});
pq.offer(new Point(1,1));
pq.offer(new Point(4,4));
pq.offer(new Point(2,2));
System.out.println(pq.poll());
System.out.println(pq.poll());
pq.offer(new Point(3,3));
System.out.println(pq.poll());
System.out.println(pq.poll());
}
}
输出结果:
(1, 1)
(2, 2)
(3, 3)
(4, 4)