std::min
Материал из cppreference.com
                    
                                        
                    
                    
                                                            
                    |  | Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. 
 Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы | 
| Определено в заголовочном файле <algorithm>
  | ||
| template< class T > const T& min( const T& a, const T& b ); | (1) | |
| template< class T, class Compare > const T& min( const T& a, const T& b, Compare comp ); | (2) | |
| template< class T > T min( std::initializer_list<T> ilist); | (3) | (начиная с C++11) | 
| template< class T, class Compare > T min( std::initializer_list<T> ilist, Compare comp ); | (4) | (начиная с C++11) | 
Возвращает меньшее из двух значений. 
3-4) Оригинал:
Returns the smaller of the two values. 
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Возвращает наименьшее из значений в списке инициализации 
ilist.Оригинал:
Returns the smallest of the values in initializer list 
ilist.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(1,3) версии используют operator< для сравнения значений, (2,4) версии использовать данную функцию сравнения 
comp.Оригинал:
The (1,3) versions use operator< to compare the values, the (2,4) versions use the given comparison function 
comp.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
| Содержание | 
[править] Параметры
| a, b | - |  значений для сравнения Оригинал:  the values to compare Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | 
| ilist | - |  инициализатор список значений для сравнения Оригинал:  initializer list with the values to compare Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. | 
| cmp | - | функция сравнения, возвращающая true если  if ais less thanb.Сигнатура функции сравнения должна быть эквивалентна следующей: bool cmp(const Type1 &a, const Type2 &b); Сигнатура на обязана содержать const &, однако, функция на может изменять переданные объекты. | 
| Требования к типам | ||
| - Tдолжен соответствовать требованиямLessThanComparable. for the overloads (1) and (3) | ||
| - Tдолжен соответствовать требованиямCopyConstructible. for the overloads (3) and (4) | ||
[править] Возвращаемое значение
1-2)Меньший из 
3-4) a и b. Если значения эквивалентны, возвращает a.Оригинал:
The smaller of 
a and b. If the values are equivalent, returns a.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Наименьшее значение в 
ilist. Если несколько значений эквивалентных самых маленьких, возвращает левый такое значение.Оригинал:
The smallest value in 
ilist. If several values are equivalent to the smallest, returns the leftmost such value.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Сложность
1-2) Константная.
3-4)Линейный в 
ilist.size()Оригинал:
Linear in 
ilist.size()Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Возможная реализация
| Первый вариант | 
|---|
| template<class T> const T& min(const T& a, const T& b) { return (a < b) ? a : b; } | 
| Второй вариант | 
| template<class T, class Compare> const T& min(const T& a, const T& b, Compare comp) { return (comp(a, b)) ? a : b; } | 
| Третий вариант | 
| template<class T> T min( std::initializer_list<T> ilist) { return *std::min_element(ilist.begin(), ilist.end()); } | 
| Четвёртый вариант | 
| template<class T, class Compare> T min(std::initializer_list<T> ilist, Compare comp) { return *std::min_element(ilist.begin(), ilist.end(), comp); } | 
[править] Пример
Запустить этот код
Вывод:
smaller of 1 and 9999: 1 smaller of 'a' and 'b': a smaller of 3.5 and 2.5: 2.5
| Этот раздел не завершён | 
[править] См. также
| Возвращает наибольший из двух аргументов (шаблон функции) | |
| (C++11) |  Возвращает большее и меньшее из двух элементов  Оригинал:  returns the larger and the smaller of two elements  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | 
|  возвращает наименьший элемент в диапазоне  Оригинал:  returns the smallest element in a range  Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |


