std::vector - sortowanie
Ostatnio zmodyfikowano 2024-02-08 22:59
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->yclass 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(); }
|
|
DejaVu |
» 2023-12-11 17:33:51 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. |
|
« 1 » |