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

  • Gregorius

    őstag

    válasz tomazin #190 üzenetére

    Egyszerű láncolt listát akarsz csinálni?
    Arra már van kész komponens: LinkedList<T>. Mondjuk ez duplán láncolt, és pár tíz bájttal nagyobb az állapota, mint szükséges volna.

    Esetleg jó lehet a List<T> is, ezzel csak az a baj, hogy ha a közepére/ből szúrsz be/veszel ki egy-egy elemet, akkor az egész listát lemásolja (a berakott/kivett elemmel/nélkül), és ez kellemesen lassú tud lenni.
    Feladattól függően esetleg a Queue<T> és a Stack<T> is hasznos lehet.

    Amúgy meg nem kell hozzá unsafe, mert referenciákkal is ugyanolyan láncolt listát lehet csinálni, mint C-ben.

    class LáncoltLista<T>
    {
       public LáncElem<T> Első = null;
       public void Eléfűz(T érték)
       {
          LáncElem<T> le = new LáncElem<T>(érték);
          le.Következő = this.Első;
          this.Első = le;
       }
    }

    class LáncElem<T>
    {
       public T Érték;
       public LáncElem<T> Következő;
       public LáncElem(T érték)
       {
          this.Érték = Érték;
          this.Következő = null;
       }
    }

    A T helyére meg olyan típust írsz, amilyen tetszik. Például
    LáncoltLista<Point> pontLista = new LáncoltLista<Point>();
    pontLista.Eléfűz(new Point(12,25));
    ...

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