Перейти к содержимому

Min c какая библиотека

  • автор:

__min

Макрос препроцессора, возвращающий меньшее из двух значений.

Синтаксис

#define __min(a,b) (((a) < (b)) ? (a) : (b)) 

Параметры

Возвращаемое значение

Меньший из двух аргументов.

Замечания

Макрос __min сравнивает два значения и возвращает значение меньшего. Аргументы могут быть любого числового типа данных со знаком или без знака. Оба аргумента и возвращаемое значение должны принадлежать к одному типу данных.

Возвращаемый аргумент вычисляется дважды макросом. Двойная оценка может привести к непредвиденным результатам, если аргумент является выражением, которое изменяет его значение при оценке, например *p++ .

Требования

Маршрут Обязательный заголовок
__min

Пример

// crt_minmax.c #include #include int main( void )
The larger of 10 and 21 is 21 The smaller of 10 and 21 is 10 

Алгоритм min()

max_element() возвращает итератор, указывающий на элемент, который содержит наименьшее значение последовательности, ограниченной диапазоном [first,last). В первом варианте используется оператор "меньше", определенный для типа элементов контейнера; во втором - операция сравнения comp.

// иллюстрирует max(), min(), max_element(), min_element()

const vector int, allocator ivec( ia, ia+5 );

int mval = max( max( max( max(ivec[4],ivec[3]),

// вывод: результат вложенных вызовов max() равен: 7

cout "результат вложенных вызовов max() равен: "

mval = min( min( min( min(ivec[4],ivec[3]),

// вывод: результат вложенных вызовов min() равен: 2

cout "результат вложенных вызовов min() равен: "

vector int, allocator ::const_iterator iter;

iter = max_element( ivec.begin(), ivec.end() );

// вывод: результат вложенных вызовов max_element() также равен: 7

cout "результат вложенных вызовов max_element() также равен: "

iter = min_element( ivec.begin(), ivec.end() );

// вывод: результат вложенных вызовов min_element() также равен: 2

cout "результат вложенных вызовов min_element() также равен: "

Читайте также

Алгоритм inplace_merge()

Алгоритм inplace_merge() template class BidirectionalIterator voidinplace_merge( BidirectionalIterator first,BidirectionalIterator middle,BidirectionalIterator last );template class BidirectionalIterator, class Compare voidinplace_merge( BidirectionalIterator first,BidirectionalIterator middle,BidirectionalIterator last, Compare comp );inplace_merge() объединяет две соседние отсортированные последовательности,

Алгоритм iter_swap()

Алгоритм iter_swap() template class ForwardIterator1, class ForwardIterator2 voiditer_swap( ForwardIterator1 a, ForwardIterator2 b );iter_swap() обменивает значения элементов, на которые указывают итераторы a и b.#include algorithm#include list#include iostream.hint main();list int,allocator ilist( ia, ia+6 );typedef list int, allocator ::iterator iterator;iterator iter1 =

Алгоритм lexicographical_compare()

Алгоритм lexicographical_compare() template class InputIterator1, class InputIterator2 boollexicographical_compare(InputIterator1 first1, InputIterator1 last1,InputIterator1 first2, InputIterator2 last2 );template class InputIterator1, class InputIterator2,class Compare boollexicographical_compare(InputIterator1 first1, InputIterator1 last1,InputIterator1 first2, InputIterator2 last2,Compare comp );lexicographical_compare() сравнивает соответственные пары

Алгоритм lower_bound()

Алгоритм lower_bound() template class ForwardIterator, class Type ForwardIteratorlower_bound( ForwardIterator first,ForwardIterator last, const Type &value );template class ForwardIterator, class Type, class Compare ForwardIteratorlower_bound( ForwardIterator first,ForwardIterator last, const Type &value,class Compare );lower_bound() возвращает итератор, указывающий на первую позицию в отсортированной

Алгоритм max()

Алгоритм max() template class Type const Type&max( const Type &aval, const Type &bval );template class Type, class Compare const Type&max( const Type &aval, const Type &bval, Compare comp );max() возвращает наибольшее из двух значений aval и bval. В первом варианте используется оператор "больше", определенный в классе Type; во втором - операция

Алгоритм min()

Алгоритм min() template class Type const Type&min( const Type &aval, const Type &bval );template class Type, class Compare const Type&min( const Type &aval, const Type &bval, Compare comp );min() возвращает меньшее из двух значений aval и bval. В первом варианте используется оператор “меньше”, определенный для типа Type; во втором - операция

Алгоритм merge()

Алгоритм merge() template class InputIterator1, class InputIterator2,class OutputIterator OutputIteratormerge( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2,OutputIterator result );template class InputIterator1, class InputIterator2,class OutputIterator, class Compare OutputIteratormerge( InputIterator1 first1, InputIterator1 last1,InputIterator2 first2, InputIterator2 last2,OutputIterator result, Compare comp );merge() объединяет

Алгоритм mismatch()

Алгоритм mismatch() template class InputIterator1, class InputIterator2 pairInputIterator1, InputIterator2mismatch( InputIterator1 first,InputIterator1 last, InputIterator2 first2 );template class InputIterator1, class InputIterator2,class BinaryPredicate pairInputIterator1, InputIterator2mismatch( InputIterator1 first, InputIterator1 last,InputIterator2 first2, BinaryPredicate pred );mismatch() сравнивает две последовательности и находит

Алгоритм nth_element()

Алгоритм nth_element() template class RandomAccessIterator voidnth_element( RandomAccessIterator first,RandomAccessIterator nth,RandomAccessIterator last );template class RandomAccessIterator, class Compare voidnth_element( RandomAccessIterator first,RandomAccessIterator nth,RandomAccessIterator last, Compare comp );nth_element() переупорядочивает последовательность, ограниченную диапазоном [first,last), так что все

Алгоритм partial_sort()

Алгоритм partial_sort() template class RandomAccessIterator voidpartial_sort( RandomAccessIterator first,RandomAccessIterator middle,RandomAccessIterator last );templatepartial_sort() сортирует часть последовательности, укладывающуюся в диапазон [first,middle). Элементы в диапазоне [middle,last) остаются неотсортированными. Например, если дан массивint ia[] =

Алгоритм partial_sum()

Алгоритм partial_sum() template class InputIterator, class OutputIterator OutputIteratorpartial_sum(InputIterator first, InputIterator last,OutputIterator result );template class InputIterator, class OutputIterator,class BinaryOperation OutputIteratorpartial_sum(InputIterator first, InputIterator last,OutputIterator result, BinaryOperation op );Первый вариант partial_sum() создает из последовательности, ограниченной

Алгоритм partition()

Алгоритм partition() template class BidirectionalIterator, class UnaryPredicate BidirectionalIteratorpartition(BidirectionalIterator first,BidirectionalIterator last, UnaryPredicate pred );partition() переупорядочивает элементы в диапазоне [first,last). Все элементы, для которых предикат pred равен true, помещаются перед элементами, для которых он равен false.

Алгоритм random_shuffle()

Алгоритм random_shuffle() template class RandomAccessIterator voidrandom_shuffle( RandomAccessIterator first,RandomAccessIterator last );template class RandomAccessIterator,class RandomNumberGenerator voidrandom_shuffle( RandomAccessIterator first,RandomAccessIterator last,RandomNumberGenerator rand);random_shuffle() переставляет элементы из диапазона [first,last) в случайном порядке. Во втором варианте можно

Функции min и max в Python

В языке программирования Python есть встроенные функции поиска минимума и максимума. Им можно передавать как один объект, так и непосредственно множество однотипных объектов. Если передается один объект, то им может быть список, любая другая коллекция или итерируемый объект.

Если передается один список, то в нем находится минимум или максимум, которые возвращаются функциями min() и max() .

>>> a = [11,8,12,0] >>> min(a) 0 >>> max(a) 12

Если передается несколько списков, то целиком возвращается один из переданных списков. При этом сравнение происходит поэлементно: сначала сравниваются первые элементы списков. Если они не равны, то функция min() вернет тот список, первый элемент которого меньше, max() - наоборот. Если первые элементы равны, то будут сравниваться вторые и т. д.

>>> a = [11,8,12,0] >>> b = [11,7,123,9] >>> m = min(a,b) >>> print(m, type(m)) [11, 7, 123, 9] >>> c = [11,8,12] >>> min(a,c) [11, 8, 12]

Функциям min() и max() можно непосредственно передавать множество чисел:

>>> max(3, 8, -3, 12, 9) 12

Таким образом, если функции получают несколько объектов, то сравниваются сами объекты. И неважно какого они типа: списки, числа или что-то другое.

Однако нельзя передать числа и строки или смешанный список. В этом случае функция возвращает ошибку:

>>> s = ['a','d',1] >>> min(s) Traceback (most recent call last): File "", line 1, in TypeError: unorderable types: int() < str()
>>> s = ['a','d','ee'] >>> min(s) 'a'

В функциях min() и max() можно указать необязательный именной параметр key . Ему присваивается одноаргументная функция, которая выполняет какое-то предварительное действие над элементами списка.

>>> a = [8,-11,4,2,-5] >>> max(a) 8 >>> max(a,key=abs) -11

Здесь во втором случае находится максимум среди абсолютных значений чисел. То есть к каждому элементу списка применяется встроенная в Python функция abs . Однако применить ее к целым спискам нельзя:

>>> max(a,b,key=abs) Traceback (most recent call last): File "", line 1, in TypeError: bad operand type for abs(): 'list'

Min – сравнение двух значений в сторону наименьшего

Запись была обновлена

Функция min производит сравнение двух значений и возвращает меньшее из двух. Объявление функции и оба аргумента должны быть одного типа.

Возвращаемое значение

Функция min возвращает меньшее из двух значений.

Переносимость

Пример

#include #include int main(void)

Поделиться
Подготовил материал
Табаков Юрий
Программист

Автор и редактор проекта CuBook.PRO. Главная задача, которую я ставлю перед собой – донести до начинающих программистов удобочитаемый материал. Буду рад выслушать замечания и предложения. Не забываем ставить оценки и делать репосты =)

Минутка юмора

Народная сисадминская примета: привезли новую технику - выходные на работе.

Предложить статью

Самое интересное

  • Log – натуральный логарифм
  • ShellExecute – открыть папку или приложение
  • Pow – возведение числа в степени
  • Chart – графики и диаграммы
  • StringGrid – таблица строк и столбцов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *