Witam wszystkich
Mam problem z vecotorem. Po pierwsze jak się tworzy vector , który ma zawierać pary liczb i pod drugie jak go posortować według jednej z liczb z pary? Z góry dziękuję za odpowiedź
[C++] Tworzenie i sortowanie vectora
[C++] Tworzenie i sortowanie vectora
Ostatnio zmieniony 18 kwie 2014, o 13:30 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania.
- Dasio11
- Moderator
- Posty: 10223
- Rejestracja: 21 kwie 2009, o 19:04
- Płeć: Mężczyzna
- Lokalizacja: Wrocław
- Podziękował: 40 razy
- Pomógł: 2361 razy
[C++] Tworzenie i sortowanie vectora
Deklaracja
tworzy pusty wektor par liczb typu
Sortowanie: zależy, czy chcesz mieć własne, czy użyć standardowego.
W pierwszym przypadku po prostu je napisz, porównując pierwsze elementy:
W drugim przypadku musisz stworzyć funkcję lub obiekt funkcyjny do porównywania par:
a następnie przy jej użyciu posortować wektor:
std::vector< std::pair< double, double > > wektor;
tworzy pusty wektor par liczb typu
double
.Sortowanie: zależy, czy chcesz mieć własne, czy użyć standardowego.
W pierwszym przypadku po prostu je napisz, porównując pierwsze elementy:
Kod: Zaznacz cały
void my_sort( std::vector< std::pair< double, double > >& wektor )
{
/* ... */
if( wektor[i].first < wektor[j].first ) // jeśli pierwsza liczba z i-tej pary jest mniejsza od pierwszej liczby z j-tej pary
/* ... */
}
Kod: Zaznacz cały
bool my_comp( std::pair< double, double > A, std::pair< double, double > B )
{
return A.first < B.first;
}
Kod: Zaznacz cały
std::sort( wektor.begin(), wektor.end(), my_comp );
- Zordon
- Użytkownik
- Posty: 4977
- Rejestracja: 12 lut 2008, o 21:42
- Płeć: Mężczyzna
- Lokalizacja: Kraków
- Podziękował: 75 razy
- Pomógł: 910 razy
[C++] Tworzenie i sortowanie vectora
możesz też wywołać i to posortuje pary leksykograficznie.
Kod: Zaznacz cały
sort( wektor.begin(), wektor.end())