Was ist schneller im Zugriff?



  • otze schrieb:

    volkard schrieb:

    void list::sort(){
       if(empty) return;
       list links,rechts;
       T pivot=front();
       pop();
       while(!empty()){
          if(front()<pivot)
             kleijner.pushback(front())
          else
             groesser.pushback(front())
          pop();
       }
       swap(*this,links);
       push_back(pivot);
       hänge rechzts an *this an.
    }
    

    hmm, bin ich jetzt dumm, oder befinden sich nach einer benutzung dieses sorts alle werte <pivot unsortiert am anfang und alle werte >pivot unsortiert am ende?

    ups, hab zwei zeilen vergessen.

    void list::sort(){
       if(empty) return;
       list links,rechts;
       T pivot=front();
       pop();
       while(!empty()){
          if(front()<pivot)
             kleijner.pushback(front())
          else
             groesser.pushback(front())
          pop();
       }
       links.sort();//<--- hier neu, kauf mich!
       rechts.sort();<--- hier neu, kauf mich!
       swap(*this,links);
       push_back(pivot);
       hänge rechzts an *this an.
    }
    


  • dacht ich mir schon :), nun ist klar


Anmelden zum Antworten