verkettete Listen



  • Hallo Leute

    meine frage:

    Kann mir jemand von euch, verkettete Listen (einfach reicht erstmal) bitte erklären?
    Hab mir da schon einiges durchgelesen, aber das prinzip, und die einsatzmöglichkeiten hab ich noch nicht verstanden!

    Wäre sehr nett von euch!





  • Ja...danke, aber ich brauche C++ Beispiele!



  • Eine verkettete Liste ist einfach ne Liste weiß nicht was daran jetzt so kompliziert sein soll? Also du hast Strukturen oder Klassen jede besitzt einfach nen Pointer auf das nächste Glied und das ist dann ne Liste.

    In C++ würds dann vielleicht so ausschauen:

    template <class T>
    class TList {
    private:
        T m_Item;
        TList* m_pNext;
    
    public:
        // Construction
        TList ();
        TList (const T& item, TList* pNext);
        ~TList ();
    
        // Member access
        void SetItem (const T& item);
        T& Item ();
        const T& GetItem () const;
        void SetNext (TList* pNext);
        TList*& Next ();
        const TList* GetNext () const;
    
        // Total number of nodes in the list, including this one
        int GetQuantity () const;
    };
    

    Vorteil ner Liste:
    - Einfaches einfügen, löschen in O(1) einfach pointer umsetzen
    Nachteile:
    - nicht direkt auf Elemente zugreifbar -> Baum wär dann besser
    - mehr Speicherplatz für managment als zb ein array aber heutzutage vollkommen egal.

    Also das sollte jetzt verstanden worden sein...



  • Wenns nicht um den Lerneffekt geht, sondern nur um die Vorteile einer Liste, dann solltest du am besten die STL-Klasse std::list aus <list> benutzen.



  • nee, es soll schon um den lerneffekt gehen!


Anmelden zum Antworten