mehrere listen erzeugen...



  • hallo zusammen,

    ich habe eine struktur daraus erstelle ich mir eine liste.

    das ist soweit auch kein problem.

    nun möchte ich während der laufzeit des programms mehrere listen anlegen, die immer meine struktur als elemente haben. dabei ist die anzahl der zu erstellenden listen und deren elemtenzahl zu beginn des programm unbekannt. diese werden erst im laufe des programms ermittelt.

    ich weiß nicht, wie ich da mehrere listen während des programms anlegen kann.
    wäre toll, wenn mir da jemand helfen könnte.

    vielen dank
    gruß
    Lexi



  • hm benutz doch std::list und std::vector, wo du deine n Listen reinstopfst



  • gibts nicht noch einen anderen weg?



  • Hi, brauchst du eine verkette Liste ???
    Schonmal was von

    new
    

    gehört, damit kannste dynamisch, also zur Laufzeit Speicher allozieren...



  • klar, alles selber machen, mit den STL-Containers gehts aber wirklich am einfachsten. Such dir nen gutes Tut wo der Umgang mit denen erklärt ist udn dann wende die an. Damit ersparst du dir viel Arbeit und Ärger.

    Alternativ kannst du deine Liste nehmen und erste ne Liste machen, die Listen enthält, welche wiederum deine Strukturen enthalten. Dann musst du dich aber um die Speicherverwaltung selber kümmern



  • hallo,

    ja das weiß ich. ich erstelle mir ja bereits eine verkettete liste, die als elemente jeweils meine struktur enthält. da kan ich schön ein listenelement an das andere hängen.

    nun möchte ich während des programm ablaufs neben dieser liste eine zweite erstellen in der ebenfalls die elemente aus meiner struktur gebildet werden. leider weiß ich nciht, wie ich das anstellen soll. für die erste liste, habe ich einfach einen zeiger auf den anfang der liste liste *anfang z.b. nun ist das problem, dass ich nicht weiß, wieviele Listen ich benötige. mit new hole ich mir ja immer nur speicherplatz auf das neue element.



  • du kannst mit new auch eine Liste erzeugen, nicht nur dein Element. Sind in der Liste Zeiger auf deine Elemente gespeichert?



  • das ist meine struktur

    struct ver {
             short X; 
             short Y; 
             short I;          
             vert *next;   
    };
    

    so lege ich die liste an, hole ein neues element, hänge es hinten an und weise dann die daten zu....

    vert *anfang_vert; 
    vert *pointer;
    vert* neuelem=new vert;
    ...
    anfang_vert= neuelem;           
    pointer= anfang_vert;           
    pointer->X= XKo;  
    pointer->Y= YKo;   
    pointer->I= Anz;
    pointer->next= NULL;
    


  • hast du ne Klasse für deine Liste?

    *nochmal nerv: benutz std::list*


Anmelden zum Antworten