diff --git a/TinySTL/Algorithm.h b/TinySTL/Algorithm.h index 9d855e1..628758e 100644 --- a/TinySTL/Algorithm.h +++ b/TinySTL/Algorithm.h @@ -225,6 +225,26 @@ namespace TinySTL{ } return first; } + //********** [find_if] ************************* + //********* [Algorithm Complexity: O(N)] **************** + template + InputIterator find_if(InputIterator first, InputIterator last, UnaryPredicate pred){ + for (; first != last; ++first){ + if (pred(*first)) + break; + } + return first; + } + //********** [find_if_not] ************************* + //********* [Algorithm Complexity: O(N)] **************** + template + InputIterator find_if_not(InputIterator first, InputIterator last, UnaryPredicate pred){ + for (; first != last; ++first){ + if (!pred(*first)) + break; + } + return first; + } }