# left, right: index1):

left, right: index1): index1; var i, j: index1; barrier: item; begin barrier := Mas[(left + right) div 2]; i := left; j := right; repeat while (Mas[i] &lt; barrier) do i := i+1; while (Mas[j] &gt; barrier) do j := j-1; if i ? j then begin Swap{Mas[i], Mas[j]}; i := i+1; j:= j-1 end; until i &gt; j; Partition := j end; Обратите внимание, что описание функции Max с тремя указанными параметрами делает возможным возврат наибольшего элемента не обязательно для всего массива, но также и любого его подмассива. Для этого при вызове достаточно заменить границы диапазона обработки, входящего в интервал 0..N-1. Мы еще встретимся с таким применением механизма, например, при обсуждении одного из алгоритмов сортировки вектора. Для второго варианта алгоритма, когда требуется установить местоположение искомого элемента в массиве, нужно лишь незначительно изменить обработку. Алгоритм E2-1 (2) function IndexMax (Mas: massive1; left, right: index1): index1; var i,

Индекс
Элементарные функции Линейные уравнения Нелинейные уравнения Случайные числа