Różnice między wybraną wersją a wersją aktualną.
Both sides previous revision Previous revision Next revision | Previous revision | ||
partial_sort [2008/12/12 13:12] alaskow1 |
partial_sort [2008/12/12 13:50] alaskow1 |
||
---|---|---|---|
Linia 194: | Linia 194: | ||
Kingsley | Kingsley | ||
wiek: 43 waga: 89 | wiek: 43 waga: 89 | ||
- | Wilson... */ | + | Wiliams |
+ | wiek: 22 waga: 82.1 | ||
+ | Smith... */ | ||
</code> | </code> | ||
Linia 224: | Linia 226: | ||
Smith | Smith | ||
wiek: 18 waga: 57.4 | wiek: 18 waga: 57.4 | ||
- | Pearson | + | Pearson |
wiek: 27 waga: 63.2 | wiek: 27 waga: 63.2 | ||
... */ | ... */ | ||
Linia 231: | Linia 233: | ||
=== Sortowanie wg zdefiniowanego funktora === | === Sortowanie wg zdefiniowanego funktora === | ||
- | Funktor, czyli obiekt funkcyjny, to taki obiekt, który ma zdefiniowany operator **()**. W ogólnym przypadku funktor może przechowywać stan, który może mieć wpływ na działanie tego operatora, w przeciwieństwie do stałej funkcji porównującej. W tym przypadku jednak ograniczono się do najprostszego przypadku funktora: | + | Funktor, czyli obiekt funkcyjny, to taki obiekt, który ma zdefiniowany operator **operator()**. W ogólnym przypadku funktor może przechowywać stan, który może mieć wpływ na działanie tego operatora, w przeciwieństwie do stałej w działaniu funkcji porównującej. W tym przypadku jednak ograniczono się do najprostszego przypadku funktora: |
<code cpp> | <code cpp> | ||
Linia 267: | Linia 269: | ||
... */ | ... */ | ||
</code> | </code> | ||
+ | |||
+ | ===== Podsumowanie ===== | ||
+ | |||
+ | Algorytm **partial_sort** umożliwia wyodrębnienie **n** skrajnych elementów w danej kolekcji na podstawie pewnego kryterium, określonego za pomocą operatora mniejszości **operator<**, funkcji porównującej bądź funktora. Dzięki temu, nie trzeba sortować całej kolekcji, wystarczy sortowanie do momentu uzyskania żądanej ilości elementów, co skraca sam czas trwania operacji. | ||
+ | |||
+ | ===== Źródła ===== | ||
+ | |||
+ | Plik źródłowy z przykładami: {{:stl_algorytmy:partial_sort2.cpp}} | ||
+ | |||
+ | |||
+ | ---- | ||
+ | //[[alaskow1@stud.elka.pw.edu.pl|Artur Marcin Laskowski]] 2008/12/12 13:48// | ||