Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    18

    Iterator e lista concatenata a punt espliciti

    Ciao a tutti, non riesco a implementare una classe DIZIONARIO che faccia uso di una lista concatenata
    a puntatori espliciti, questa classe deve implementare l'interfaccia iterator. La lista deve contenere
    in ordine crescente ogetti PAROLA. Quindi la classe dizionario deve contere i metodi:

    public void add(Parola p) // per inserire in ordine le parole

    public Iterator iterator()

    public boolean hasNext()

    public object next()

    public void remove()

    Io ho pensato di fare cosìì, ma mi da errore nel metodo add e non so neanche se la logica
    del programma è giusta!!! Una cosa del genere era al testo d'esame dove mi hanno bocciato
    e sono sicuro che ridarà di nuovo una cosa del genere, vi prego HELP!!


    import java.util.Iterator;


    class Nodo{
    Object info;
    Nodo next;
    }//Nodo

    public class Dizionario_Concatenato {

    Nodo testa;


    public Dizionario_Concatenato(){
    testa=null;
    }//costruttore


    public Iterator iterator() {
    return new Iterator();
    }//iterator




    public void add(Parola p) {
    Nodo cor=testa; Nodo prec=null;
    Nodo nuovo=new Nodo();
    if(testa==null){
    nuovo.info=p;
    nuovo.next=testa;
    testa=nuovo;
    return;
    }
    Iterator iteratore=iterator();
    int c=0;
    while(iteratore.hasNext()){
    Parola corrente=(Parola)iteratore.next();

    c=corrente.compareTo(p);
    if(c>0){
    nuovo.info=p;
    nuovo.next=cor;
    prec=nuovo;
    }

    }
    }//add





    public class Iterator{

    private Nodo cor;
    private Nodo prec;

    public Iterator(){
    cor=testa;
    prec=null;
    }//costruttore


    public Object getFirst(){
    if(testa==null)
    return null;
    return testa.info;
    }//getFirst


    public boolean hasNext() {
    if(cor==null)
    return testa!=null;
    else
    return cor!=null;

    }//hasNext


    public Object next(){
    if(testa==null){
    cor=testa;
    return getFirst();
    }
    else{
    if(cor.next==null)
    return null;
    prec=cor;
    cor=cor.next;
    return cor.info;
    }
    }//next


    public void remove() {
    if(cor==testa)
    testa=cor.next;
    prec.next=cor.next;
    }//remove

    }//ITERATOR


    }//DIZIONARIO_CONCATENATO

    CIAO E GRAZIE A TUTTI!
    beppegrillo.it

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296

    Moderazione

    Il linguaggio anche nel titolo, come da Regolamento.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.