Изменения

Перейти к: навигация, поиск
Нет описания правки
return A[k];
}
 
for i = l..(r - 4)
sort(A[i..i + 4]; //сортируем каждую группу
i += 5;
 
n = r - l + 1;
Medians[1..n/5] = A[(l + 2):5:(r - 2)]; //создаем массив медиан
Medians[i] = A[j]
j += 5;
 
x = select(Medians, 1, n/5, n/10); //x - рассекающий элемент
 
A = share(A, l, r, x); //делим массив относительно элемента x
 
for i = l to r
if (A[i] == x)
m = i; //находим индекс элемента x в исходном массиве
 
if (m = k)
return A[m];
55
правок

Навигация