// Построение пирамиды for i = n/2 - 1 downto 0 Screening(x, i, n-1) // Процедура просеивания /* Формирование конечной отсортированной последовательности + "балансирование" пирамиды */ for i = n-1 downto 1 // меняем первый с последним swap(x, 0, i) /* Восстановление баланса для пирамиды x[0..i-1] */ Screening(x, 0, i-1)