Narzędzia użytkownika

Narzędzia witryny


transform

Różnice

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

Odnośnik do tego porównania

transform [2008/12/08 02:42]
stasiek-j utworzono
transform [2008/12/08 02:46] (aktualna)
stasiek-j
Linia 28: Linia 28:
 ===== Ograniczenia ===== ===== Ograniczenia =====
   * Funkcja op powinna być pozbawiona efektów ubocznych.   * Funkcja op powinna być pozbawiona efektów ubocznych.
-  * Poprawność wykonania nie może zależeć od kolejności wywoływania operacji dla poszczególnych elementów. W szczególności result nie może należeć do zakresu [first1 + 1, last1) lub analogicznego [first2 + 1, first2+ last1-first1). Nic jednak nie stoi na przeszkodzie,​ aby result był równy first1 lub first2 (wtedy algorytm ​wykonuję ​transformację //w miejscu//)+  * Poprawność wykonania nie może zależeć od kolejności wywoływania operacji dla poszczególnych elementów. W szczególności result nie może należeć do zakresu [first1 + 1, last1) lub analogicznego [first2 + 1, first2+ last1-first1). Nic jednak nie stoi na przeszkodzie,​ aby result był równy first1 lub first2 (wtedy algorytm ​wykonuje ​transformację //w miejscu//)
 W przypadku potrzeby użycia algorytmu pozbawionego tych ograniczeń należy stosować algorytm [[for_each]] W przypadku potrzeby użycia algorytmu pozbawionego tych ograniczeń należy stosować algorytm [[for_each]]
  
 ===== 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: 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)
transform.txt · ostatnio zmienione: 2008/12/08 02:46 przez stasiek-j