Pages: [1]   Go Down
Print
Author Topic: piccolo errore su classe LinkedList  (Read 616 times)
0 Members e 1 Utente non registrato stanno visualizzando questa discussione.
ciccio
Apprendista Forumista
**
Offline Offline

Gender: Male
Posts: 143



« on: 09-07-2009, 22:48:20 »

come da titolo credo di aver trovato un piccolo e banale, ma "disastrofico" errore, appunto nella classe "LinkedList" postata dal prof.; piu' precisamente nel metodo "insertOrd(Object x)", ecco il metodo:
Code:
/**
          * Inserimento ordinato di un elemento. Per il confronto viene fatto
          * il cast esplicito dell'oggetto info nel tipo Comparable.
          * @param x l'elemento da inserire.
          * @see java.lang.Comparable
          */
         public void insertOrd( Object x )
         {
           if (isEmpty())
           {
             head = new ListNode( x );
             size++;
           }
           else
           {
             if ( ((Comparable) head.info).compareTo(x)
  >= 0 )
               insertHead ( x );
             else
             {
               ListNode aux = head;
               for(; ( aux.next != null ) &&
     ( ((Comparable)aux.info).compareTo(x) < 0 );
                      aux = aux.next );
               aux.next = new ListNode(x, aux.next);
               size++;
             }
           }

         }

l'errore sta' nell'ultimo for:

for(; ( aux.next != null ) && ( ((Comparable)aux.info).compareTo(x) < 0 ); aux = aux.next ); aux.next = new ListNode(x, aux.next);

che dovrebbe diventare:

for(; ( aux.next != null ) && ( ((Comparable)aux.next.info).compareTo(x) < 0 ); aux = aux.next ); aux.next = new ListNode(x, aux.next);

posto per aver conferma della correttezza della mia segnalazione, quindi se dico eresie corregetemi subito...anche se onestamente credo di non sbagliarmi
Logged

"Non importa quanto vai piano, l' importante è che non ti fermi" (CONFUCIO)
Pages: [1]   Go Up
Print
Jump to: