0
/* 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 */
4

1 に答える 1

0

あなたの問題は次の行にあります:

pQueArray[j+1] = item;

これは、残りの要素を比較する処理を行った後でのみ、キューの最後の位置に最新のアイテムを追加していることを示しています。

于 2013-05-30T00:29:40.833 に答える