Narzędzia użytkownika

Narzędzia witryny


min_element_max_element

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Both sides previous revision Previous revision
Next revision
Previous revision
min_element_max_element [2008/12/11 00:11]
kkukolow
min_element_max_element [2008/12/11 00:21] (aktualna)
kkukolow
Linia 31: Linia 31:
   ForwardIterator max_element ( ForwardIterator first, ForwardIterator last,   ForwardIterator max_element ( ForwardIterator first, ForwardIterator last,
                                 Compare comp );                                 Compare comp );
 +</​code>​
 +
 +Równoważny kod:
 +<code cpp>
 +template <class ForwardIterator>​
 +  ForwardIterator min_element ( ForwardIterator first, ForwardIterator last )
 +{
 +  ForwardIterator lowest= first;
 +  if (first==last) return last;
 +  while (++first!=last)
 +    if (*first<​*lowest) ​   // or: if (comp(*first,​*lowest)) for the comp version
 +      lowest=first;​
 +  return lowest;
 +}
 </​code>​ </​code>​
  
Linia 36: Linia 50:
 ===== Parametry ===== ===== Parametry =====
   * **first, last** - Iteratory wskazujące z jakiego zakresu wyszukiwany będzie najmniejszy/​największy element. Zakres to [first, last), co oznacza że zawiera on wszystkie elementy rozpoczynając od elementu first do elementu poprzedzającego last.   * **first, last** - Iteratory wskazujące z jakiego zakresu wyszukiwany będzie najmniejszy/​największy element. Zakres to [first, last), co oznacza że zawiera on wszystkie elementy rozpoczynając od elementu first do elementu poprzedzającego last.
-  * **comp** - funkcja realizująca operator mniejszości <. Jako argumenty przyjmuje element pierwszy i element drugi. Zwraca true jeżeli element pierwszy jest mniejszy niż element drugi.+  * **comp** - funkcja realizująca operator mniejszości <. Jako argumenty przyjmuje element pierwszy i element drugi. Zwraca ​**true** jeżeli ​//element pierwszy// jest mniejszy niż //element drugi//.
  
 ===== Zwracana wartość ===== ===== Zwracana wartość =====
Linia 43: Linia 57:
 ===== Ograniczenia ===== ===== Ograniczenia =====
   * W podanym zakresie [first, last) powinien znajdować się co najmniej jeden element   * W podanym zakresie [first, last) powinien znajdować się co najmniej jeden element
-  * Jeżeli first==last zwracany jest +  * Jeżeli first==last zwracany jest last
   * Jeżeli jest kilka elementów najmniejszych/​największych zwracany jest ten, który występuje wcześniej w kontenerze   * Jeżeli jest kilka elementów najmniejszych/​największych zwracany jest ten, który występuje wcześniej w kontenerze
  
 ===== Złożoność ===== ===== Złożoność =====
-Liniowa: ​wywołuje funkcję op i dokonuje przyporządkowania zwracanej przez nią wartości co najwyżej tylokrotnie,​ ile jest elementów w zakresie ​[first1, last1)+Liniowa: ​wykonuje operacje porównania n-1 razy, gdzie n to ilość elementów w zakresie
min_element_max_element.1228950664.txt.gz · ostatnio zmienione: 2008/12/11 00:11 przez kkukolow