Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/12/2012, 18:29
fightmx
 
Fecha de Ingreso: febrero-2003
Ubicación: D.F.
Mensajes: 163
Antigüedad: 21 años, 10 meses
Puntos: 22
Respuesta: ordenacion de lista stl de struct

Lo más simple es que definas el operador "<" en tu struct y utilices el método sort de la clase list:
Código C++:
Ver original
  1. #include <iostream>
  2. #include <string>
  3. #include <list>
  4. using namespace std;
  5.  
  6. struct Movie{
  7.     string name;
  8.     Movie(const string& _name): name(_name){}
  9.     bool operator<(const Movie& m){
  10.         return name < m.name;
  11.     }
  12. };
  13.  
  14. int main(){
  15.     list<Movie> movies;
  16.  
  17.     movies.push_back(Movie("cMovie"));
  18.     movies.push_back(Movie("aMovie"));
  19.     movies.push_back(Movie("gMovie"));
  20.     movies.push_back(Movie("bMovie"));
  21.  
  22.     movies.sort();
  23.  
  24.     for(list<Movie>::iterator it = movies.begin(); it != movies.end(); it++){
  25.         cout << it->name << endl;
  26.     }
  27.  
  28.     return 0;
  29. }