Anzeige:
Ergebnis 1 bis 5 von 5

Thema: verkettete listen

  1. #1
    Registrierter Benutzer
    Registriert seit
    09.05.2001
    Ort
    75196 remchingen
    Beiträge
    26

    verkettete listen

    tja hier bin ich schon wieder und will wieder was wissen. vielleicht geht es ein paar leuten schon auf die nerven dass ich so viel poste aber das is mir egal (wer nicht fragt bleibt dumm). und zwar brauche ich ein gutes tutorial für verkettete listen. alles was ich bis jetzt gefunden hab war alles müll. falls noch jemand wissen will wofür ich das brauche: ich möchte ein uno (erweiterte version des kartenspiels mau mau) spiel entwickeln. da erscheint es mir sinnvoll die karten (die die spieler auf der hand halte und der stapel) als verkettete listen zu machen (wenn jemand ne bessere lösung kennt darf er sie mir gerne nennen).

    danke im voraus
    software is like sex it's better when it's free

  2. #2
    Registrierter Benutzer
    Registriert seit
    21.01.2001
    Beiträge
    157
    Naja, nimm doch std::list (doppelt verkette Liste) bzw. std::slist (einfach verkette Liste)

    Ich hab natürlich das letzte mal vergessen den wichtigsten Link zur STL zu posten:
    http://www.sgi.com/tech/stl/

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Oder std::vector, wenn du nur eine Art Array mit dynamischer Größe brauchst.

    Ciao,
    _

  4. #4
    Registrierter Benutzer Avatar von Trillian
    Registriert seit
    26.04.2001
    Beiträge
    180
    Falls es nicht um C++ gehen sollte:
    Ich mach das über die GLib
    Kannst dir sowas aber auch selber zusammen schreiben

    http://developer.gnome.org/doc/API/g...ked-lists.html
    http://developer.gnome.org/doc/API/g...ked-lists.html

  5. #5
    Registrierter Benutzer
    Registriert seit
    01.08.2001
    Beiträge
    57
    Moin,

    verkettete Listen sind nicht schwer.
    Bsp (nicht objekt-orientiert, Pseudo-Code)

    struct liste{
    /*Daten*/
    Pointer_auf_struct_liste next
    }

    Das ist die Grundstruktur. In Daten stehen irgendwelche Infos über die Karte drin...
    next erhält einen Pointer auf die nächste Karte. Die letzte Karte hat next==nil .

    Wenn du vorne anhängen willst:
    Also E1 -> E2 -> nil daran E3 wird daraus: E3 -> E1 -> E2 -> nil

    struct liste function vorne_anhängen(struct liste neues_Element)
    { neues_Element.next = alte_liste /* alte_liste ist global gespeichert */
    return neues_Element;
    }

    void hinten_anhängen(struct liste neues_Element){
    struct liste temp1, temp2
    temp1=alte_liste;
    temp2 = temp1.next;
    while (temp2 !=nil)
    { temp1 = temp1.next;
    temp2 = temp1.next;
    }
    temp1.next = neues_Element;
    neues_Element.next = nil;
    }

    So, ich glaube prinzipiell ist das die Art, wie ich verkettete Listen (in C) implementiere.
    Ich habe den Pseudo(!)-Code nicht getestet, ist nur so runtergeschrieben.
    Aber ich hoffe mal, daß es funtioniert...

    Wenn Fehler drin sind, könnt ihr das ja posten

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •