Java 优先级队列对除最后一个项目外的所有项目进行排序
这部分返回所需的所有内容。除了最后一个,我都买了Java 优先级队列对除最后一个项目外的所有项目进行排序,java,priority-queue,Java,Priority Queue,这部分返回所需的所有内容。除了最后一个,我都买了 /* INPUT Greenland Denmark Iceland Finland Sweden Norway */ 你的问题在于: pQueArray[j+1]=项目 这表示您正在将最新的项目添加到队列的最后一个位置,只有在您完成了比较其余元素的处理之后。为什么不使用java的priority queue()和自定义比较器?我强烈建议您自己学习如何调试它,因为它将带来长期的好处。在分配给pQueArray[…]的两种情况下,打印队列发生的情
/* INPUT
Greenland
Denmark
Iceland
Finland
Sweden
Norway
*/
你的问题在于:
pQueArray[j+1]=项目代码>
这表示您正在将最新的项目添加到队列的最后一个位置,只有在您完成了比较其余元素的处理之后。为什么不使用java的priority queue()和自定义比较器?我强烈建议您自己学习如何调试它,因为它将带来长期的好处。在分配给pQueArray[…]的两种情况下,打印队列发生的情况。您将很快发现错误所在。
public void insert(Country item){
System.out.println("Item receieved by pQueue: " + item.getCountryName());
int j;
if (nItems==0)
pQueArray[nItems++] = item;
else{
for (j=nItems-1; j>=0; --j)
if (item.getCountryName().compareTo(pQueArray[j].getCountryName()) < 0 )
pQueArray[j+1] = pQueArray[j];
else
break;
// end for
pQueArray[j+1] = item;
nItems++;
} // end else
} // end insert()
/* OUTPUT
Denmark
Finland
Greenland
Iceland``
Sweden
Norway */