Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

std::vector - sortowanie

Ostatnio zmodyfikowano 2024-02-08 22:59
Autor Wiadomość
tBane
Temat założony przez niniejszego użytkownika
std::vector - sortowanie
» 2023-12-11 17:27:22
Witam.
Chcialbym posortować listę std::vector < tile* > tiles w porządku malejącym względem tile->y

C/C++
class tile
{
public:
   
float x, y;
   
object * o;
   
   
tile( float, float );
   
~tile();
};

std::vector < tile * > tiles;
int mapWdt, mapHgh;

int main()
{
   
mapWdt = 5; mapHgh = 4;
   
   
tiles.clear();
   
   
for( int y = 0; y < mapHgh; y++ )
   
for( int x = 0; x < mapWdt; x++ )
       
 tiles.pushback( new tile( x, y ) );
   
   
tiles.sort(); // ??
   
}
P-180529
DejaVu
» 2023-12-11 17:33:51
C/C++
std::sort( tiles.begin(), tiles.end(),[ ]( const auto & a, const auto & b ) { return a->y > b->y; } )

/edit:
W każdym razie w Twoim przypadku nie jest potrzebne nawet sortowanie - wystarczy iterować w pętli for od największej pozycji do 0.
P-180530
« 1 »
  Strona 1 z 1