gpt4 book ai didi

java - 使用优先级堆/比较器时输出不规则

转载 作者:行者123 更新时间:2023-12-01 16:38:49 28 4
gpt4 key购买 nike

我正在尝试使用优先级队列,并尝试以相反的顺序排列数字[降序]。

我实现了一个比较器,并使用与自然顺序相反的约定,希望我能得到相反顺序的数字。

 public static void main(String[] args)
{
PriorityQueue<Integer> Descending = new PriorityQueue<Integer>(10,stats.new
minComparator());

Descending.add(5);
Descending.add(2);
Descending.add(7);

while(Descending.size() > 0)
{
System.out.print(Descending.remove());

}

}

class minComparator implements Comparator<Integer>
{

@Override
public int compare(Integer int1, Integer int2)
{
if(int1.intValue() < int1.intValue())
return 1;
else if(int1.intValue() > int1.intValue())
return -1;
else
return 0;
}

}

这是输出:

5 7 2

这既不是升序也不是降序!。有人可以帮我吗?

谢谢!

最佳答案

我可以建议简化吗?

@Override
public int compare(Integer int1, Integer int2)
{
return int2.compareTo( int1 );
}

关于java - 使用优先级堆/比较器时输出不规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6314358/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com