Objekt aus STL list entnehmen



  • Ich möchte ein paar Zahlen sortieren und habe dazu auf den list container zurückgegriffen, nachdem ich mit dem vector container an anderer Stelle gute Erfahrungen gemacht habe.

    Allerdings habe ich nach dem Eingeben der Zahlen in das list-Objekt und Sortieren beim Zugriff auf die einzelnen Elemente Probleme. Kann ich direkt ein bestimmtes Element entnehmen, quasi analog zur Funktion "at" beim vector-Objekt? Auf den Schleifendurchlauf würde ich gerne verzichten.

    Beispiel: vector ==> Entnahme eines Objektes

    vector<double> double_Values;
    
    double_Values.push_back(1.1); double_Values.push_back(2.1);
    double_Values.push_back(3.1); double_Values.push_back(4.1);
    
    double Test = double_Values.at(1);
    

    Beispiel: list ==> so wie ich es aus der MSDN entnommen habe

    list<double> double_Values;
    list <double>::iterator akt_Value;
    double mean_Value;
    
    double_Values.push_back(1.1); double_Values.push_back(2.1);
    double_Values.push_back(3.1); double_Values.push_back(4.1);
    
    //Nun wird sortiert		
    double_Values.sort();
    
    //Auslesen des mittleren Wertes 
    long Number_Points_Filter = double_Values.size();
    akt_Value = double_Values.begin();
    
    for (long Test_Counter = 0; Test_Counter < Number_Points_Filter/2;Test_Counter++)
    {
        akt_Value++;
    }
    
    mean_Value = *akt_Value;
    


  • Redone schrieb:

    Allerdings habe ich nach dem Eingeben der Zahlen in das list-Objekt und Sortieren beim Zugriff auf die einzelnen Elemente Probleme. Kann ich direkt ein bestimmtes Element entnehmen, quasi analog zur Funktion "at" beim vector-Objekt? Auf den Schleifendurchlauf würde ich gerne verzichten.

    Nein, das geht mit einer List nicht. Die hat nur forward- und keine random-acces-iteratoren.


Anmelden zum Antworten