/* INPUT
Greenland
Denmark
Iceland
Finland
Sweden
Norway
*/
此部分返回所需的一切。除了最后一个,我得到了所有这些。
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 */
答案 0 :(得分:0)
你的问题在于:
pQueArray[j+1] = item;
这表示您将最新项目添加到队列的最后位置,只有在您完成处理以比较其余元素之后。