Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Europejski lider sprzedaży techniki i elektroniki.
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

C++ - sortowanie listy funkcją sort

matbor92 10 Sty 2015 00:16 708 2
  • #1 10 Sty 2015 00:16
    matbor92
    Poziom 5  

    Hey,
    Mam stworzoną klasę, wewnątrz klasy opisane metody, przeciążone operatory w tym operatory < oraz >.
    Tworzę listę, wypełniam ją elementami z mojej klasy, i muszę ją posortować gotową funkcją sort z STL i nijak mi to nie idzie.
    zapisuje to po prostu jako sort(lista.begin(), lista.end()); i wyrzuca jakieś błędy.
    Kiedy eksperymentalnie spróbowałem zastąpić listę wektorem, to wszystko ładnie posortowało, tylko w złej kolejności, od elementu najmniejszego do największego, a chciałbym odwrotnie.
    Znalazłem w opisie tej funkcji że standardowo sortuje z użyciem operatora < i nie wiem jak zmienić go na >.

    Mógł sobie odpuścić użycia listy i wrzucić to wszystko do wektora, dlatego bardziej zależy mi na odpowiedzi na drugie pytanie.
    Gdyby jednak znalazł się ktoś miły na tyle by pomóc mi z problemem sortowania listy to dodam że wiem w jaki sposób działają iteratory, przynajmniej w stopniu który pozwala mi wyświetlić moją listę :D.

    Liczę na Waszą pomoc!.

    Dodano po 22 [minuty]:

    Ok, jestem szybko uczącym się studentem i problem sortowania od największego elementu mam już rozwiązany :D
    napisałem funkcje typu bool która daje returna true jeżeli pierwszy element jest większy od drugiego i dodałem tę funkcje jako dodatkowy argument do gotowej funkcji sort, i już jest ok.
    Pozostał tylko problem użycia tej funkcji na liście.

    0 2
  • #3 10 Sty 2015 11:33
    matbor92
    Poziom 5  

    KK, kodu nie wklejam bo sporo osób z mojego otoczenia może być nim zainsteresowanych a nie chce go udostępniać, ale już znalazłem.
    Sort standardowo sortuje wektory jeżeli chcemy sortować listę to musimy się odwołać do funkcji sort z klasy list, i ta funkcja się trochę różni od pierwszej, bo jest 1-o argumentowa, podajemy na wejściu funkcję zgodnie z którą chcemy sortować listę, lub jeżeli nie podamy żadnej funkcji to posortuje z użyciem operatora <.

    0
TME logo Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME
TME Logo