CObArray sortieren



  • Hallo,

    wer kann mir helfen?

    Habe eine Klasse CStuetzpunkt und Instanzen dieser Klasse werden in einem
    ObArray abgespeichert

    CStuetzpunkt::CStuetzpunkt(float xpwert,float ypwert,int form)
    {
    m_fpxwert = xpwert;
    m_fpywert = ypwert;
    m_iform = form;

    }

    ...

    CObArray m_oaStuetzpunkt;
    m_oaStuetzpunkt.Add(CStuetzpunktObjekt);

    Nun muss ich das ObArray nach dem m_fpxwert aufsteigend sortieren.

    Es könnte auch eine andere Datenstruktur sein als ein ObArray.

    Freue mich auf jede Antwort, die dieses Problem löst.

    Rico_32



  • schreib dir eine eigene AddSorted(CStuetzpunktObjekt obj, CObArray *obarray) methode.

    zur verfügung hast du dann
    obarray->getAt(int)
    obarray->setAt(obj)

    denke damit lässt sich eine gute möglichkeit hinkriegen.

    rate dir auf jeden fall die objekte sortiert einzufügen. alles andere ist nicht sonderlich effizient.



  • Danke für Deine Mail,

    daran dachte ich auch schon, aber es soll auch die Möglichkeit geben
    mit der Fkt. qsort() zu sortieren.

    Nun weiss ich die Schnittstelle nicht und ob es mit Objekten geht.

    Rico_32



  • schnittstelle?

    schau dir doch mal die dokumentation inder msdn an!

    aber warum bestehst du darauf die objekte vor der "abfrage" zu sortieren? es ist doch viel einfacher und viel effizienter objekte in einem array sortiert zu speichern!

    naja, wie du meinst.

    zu qsort:
    im grunde musst du dann nur die compare() methode anpassen. wahrscheinlich meinst du das mit der "schnittstelle". schau dir einfach das exmpl in der msdn an.



  • Rico: Benutze die Klassen aus der STL.


Anmelden zum Antworten