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

  • Gregorius
    őstag

    Sziasztok!

    Tudom,h lami kérdés,de nekem ez az unsafe téma... :F
    Egy pointerekkel készített láncot szeretnék csinálni.Úgy hogy minden eleme struktúra tipusú legyen.Meg lehet ezt itt csinálni,és ha igen akkor hogyan?
    Mivel egy gráfbejárást kellene csinálnom,amihez kell 3vector,de szeretném,h egybe legyen..előre is köci :R

    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