关于java优先级队列的问题
我正在尝试创建一个队列,该队列可以接受类型为X的对象。每个对象X都有一个类型为int的变量,称为distance。如何创建一个优先级队列,该队列接受类型为X的对象,但根据每个对象的可变距离对其进行排序?提供了一个优先级队列,该队列接受类型为X的对象。您可以使用此选项来订购物品。提供了一个需要花费时间的。你可以用它来订购物品。作业多少 看一看这张照片 简而言之,您可以使用堆实现优先级队列 作业多少 看一看这张照片关于java优先级队列的问题,java,priority-queue,Java,Priority Queue,我正在尝试创建一个队列,该队列可以接受类型为X的对象。每个对象X都有一个类型为int的变量,称为distance。如何创建一个优先级队列,该队列接受类型为X的对象,但根据每个对象的可变距离对其进行排序?提供了一个优先级队列,该队列接受类型为X的对象。您可以使用此选项来订购物品。提供了一个需要花费时间的。你可以用它来订购物品。作业多少 看一看这张照片 简而言之,您可以使用堆实现优先级队列 作业多少 看一看这张照片 简而言之,您可以使用堆实现优先级队列 您可以使用以下比较器: import java
简而言之,您可以使用堆实现优先级队列 您可以使用以下比较器:
import java.util.Comparator;
public class XComparator implements Comparator<X>
{
@Override
public int compare(X m, X n)
{
if (m.distance < n.distance)
{
return -1;
}
if (m.distance > n.distance)
{
return 1;
}
return 0;
}
}
import java.util.Comparator;
公共类XComparator实现了Comparator
{
@凌驾
公共整数比较(X m,X n)
{
如果(m.距离n.距离)
{
返回1;
}
返回0;
}
}
以下是创建优先级队列的方法:
int initialCapacity = 20;
Comparator<X> comparator = new XComparator();
PriorityQueue<X> queue = new PriorityQueue<X>(initialCapacity, comparator);
int initialCapacity=20;
比较器比较器=新的XComparator();
PriorityQueue=新的PriorityQueue(初始容量,比较器);
您可以使用以下比较器:
import java.util.Comparator;
public class XComparator implements Comparator<X>
{
@Override
public int compare(X m, X n)
{
if (m.distance < n.distance)
{
return -1;
}
if (m.distance > n.distance)
{
return 1;
}
return 0;
}
}
import java.util.Comparator;
公共类XComparator实现了Comparator
{
@凌驾
公共整数比较(X m,X n)
{
如果(m.距离n.距离)
{
返回1;
}
返回0;
}
}
以下是创建优先级队列的方法:
int initialCapacity = 20;
Comparator<X> comparator = new XComparator();
PriorityQueue<X> queue = new PriorityQueue<X>(initialCapacity, comparator);
int initialCapacity=20;
比较器比较器=新的XComparator();
PriorityQueue=新的PriorityQueue(初始容量,比较器);