Új hozzászólás Aktív témák

  • Lacces

    őstag

    Sziasztok!

    Algoritmus értelmezéshez kellene segítség:

    1. Az elozo.kov.elem - et nem értem, ez hogy hogy lehetséges, mit akar jelenteni? Én azthittem, hogy csak elozo.kov vagy elozo.elem lehetséges
    public void beszur(Hasonlithato h)
    ..
    for (elozo = fej; elozo.kov != null && h.hasonlit(elozo.kov.elem) >= 0; elozo = elozo.kov);
    ...

    2. A h.hasonlithato(e.elem)==0 -nál miért az egyenlő-e 0-t vizsgálom? (gondolom azt jelenti, hogy megtalálta, de... nekem nem esik le

    public int keres(Hasonlithato h)
    if(e!=null && h.hasonlit(e.elem)==0)
    return poz;

    3. Itt mi értelme van a kovetkezo=kovetkezo.kov utasításnak, ha úgy is csak az rv-vel térek vissza?

    public Hasonlithato kovetkezo(){
    Hasonlithato rv=kovetkezo.elem;
    kovetkezo=kovetkezo.kov;
    return rv;
    }

    Kód:

    package HallgatoLista;

    public class LancoltLIsta {

    /* Embedded Class */
    private static class ListaElem {
    Hasonlithato elem;
    ListaElem kov;

    public ListaElem(Hasonlithato elem, ListaElem kov) {
    this.elem = elem;
    this.kov = kov;
    }
    }

    private ListaElem fej = null;

    public void beszur(Hasonlithato h) throws DuplikaltElemException {
    if (h == null)
    throw new NullPointerException();
    if (fej == null || h.hasonlit(fej.elem) < 0)
    /* Lista elejére kell beszúrni */
    fej = new ListaElem(h, fej);
    else {
    ListaElem elozo;
    for (elozo = fej; elozo.kov != null && h.hasonlit(elozo.kov.elem) >= 0; elozo = elozo.kov);
    if (h.hasonlit(elozo.elem) == 0) {
    throw new DuplikaltElemException();
    }
    elozo.kov = new ListaElem(h, elozo.kov);
    }
    }

    public int keres(Hasonlithato h) throws NincsIlyenElemException{
    int poz=0;
    ListaElem e;
    for (poz = 0, e=fej; e!=null && h.hasonlit(e.elem)>0; e=e.kov, poz++);
    if(e!=null && h.hasonlit(e.elem)==0)
    return poz;
    else
    throw new NincsIlyenElemException();

    }

    /* Embedded Class */
    private class ListaFelsorolas implements Felsorolas{

    ListaElem kovetkezo=fej;
    public Hasonlithato kovetkezo(){
    Hasonlithato rv=kovetkezo.elem;
    kovetkezo=kovetkezo.kov;
    return rv;
    }

    public boolean vanMeg(){
    return kovetkezo!=null;
    }
    }

    public Felsorolas felsorolas(){
    return new ListaFelsorolas();
    }


    }

Új hozzászólás Aktív témák

Hirdetés