Verkettete Liste



  • kann mir da mal einer einen beliebigen Quellcode geben, weil irgendwie find ich hier keinen und die ganzen Erklärungen hab ich jetzt mal gelesen, aber ein gutes Beispiel fehlt mir einfach noch.

    Wäre euch sehr verbunden 😉

    Danke *g*



  • bemüh mal deinen hirnschmalz oder den von google. da dürftest du massig finden.



  • Schau mal ins C++ Forum, da hat virtual Realisticer gestern einen erschöpfendes Beispiel zu diesem Thema geschrieben. Des weiteren gab es da in den letzten 2 Tagen mindestens zwei Diskussionen drüber, die das Theam auch ausführlich behandelt haben.

    //Edit: Hier ist der Link: http://www.c-plusplus.net/forum/viewtopic-var-t-is-110262.html



  • Hab mal ein Programm mit einer veketteten Liste gebaut:

    #include <iostream>
    using namespace std;
    
    /* hier wird die verkettete Liste mit einer Struktur realisiert */
    struct TListenKnoten
    {
      int data;            // simuliert die Daten
      TListenKnoten *next; // Verknüpfung zum Nachfolger
    };
    
    TListenKnoten *Anker = 0; // Anfang der Liste
    
    int main()
    {
      int Inhalt;
      TListenKnoten *node, *old;
      // Fülle die Liste mit Zahlen, bis 0 eingegeben wird
      do
      {
        cout << "Zahl eingeben (0 fuer Ende)" << endl;
        cin >> Inhalt;
        if (Inhalt)
        {
          // Neues Element für die Liste erzeugen:
          TListenKnoten *node = new TListenKnoten;
          node->data = Inhalt;  // Besetze die Daten
          node->next = Anker; // Hänge die bisherige Liste an
          Anker = node;       // Setze den Anfangspunkt hierher
        }
      } while (Inhalt);
      // Gebe die Liste in umgekehrter Reihenfolge aus
      // und lösche dabei die ausgegebenen Elemente
      while (Anker)    // ungleich 0! Die Liste ist nicht leer!
      {
        cout << Anker->data << endl;
        old = Anker;         // Sichere zum späteren Löschen
        Anker = Anker->next; // Ziehe nächstes Element nach vorn
        delete old;
        if (Anker == 0)      // Lösche das ausgelesene Element
        {
          cin.get();
        }
      }
      cin.get();
    }
    

    Kann ich den Teil, den ich in der Struktur drin stehen habe auch rausschneiden und in eine Klasse reinschreiben ?

    😕



  • Eine Struktur ist das gleiche wie eine Klasse, nur mit dem Unterschied, das Klassen per Default alles privat (private) behandlen und Strukturen eben öffentlich (public).



  • Trotzdem muss das ja schon anders geschrieben werden...

    also wenn ich die Struktur umbaue und die nötigen Zeilen in einen Quellcode einbaue, dann geht einiges net mehr in der main.cpp.

    #include <iostream>
    
    class TListenKnoten
    {
      private:
      int data;            // simuliert die Daten
      TListenKnoten *next; // Verknüpfung zum Nachfolger
    };
    


  • Lies meinen Satz noch mal durch und lass ihn dir auf der Zunge zergehen. 😉



  • LOOOL du hast so Recht:

    class TListenKnoten
    {
      private:
      /* Darauf kann man dann nicht mehr so einfach zugreifen */
    
      public:
      int data;            // simuliert die Daten
      TListenKnoten *next; // Verknüpfung zum Nachfolger
    };
    

    Ah und wie ist das nun, wenn ich mehrere Daten in einem Objekt habe. Wie weise ich dann mehreren Daten das Objekt zu bzw. das Objekt den mehreren Daten zu ?



  • Was meinst du mit mehreren Daten? Sind weitere Member-Variablen gemeint? Oder etwas anderes?



  • Dieser Thread wurde von Moderator/in Jansen aus dem Forum Borland C++ Builder (VCL/CLX) in das Forum C++ verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten