Здравствуйте, SergH, Вы писали:
S>>Если просто поменять местами с последним, то может возникнуть ситуация, при которой целостность кучи будет нарушена двумя элементами. А представленные алгоритмы могут восстановить целостность кучи только если она нарушена не более одним элементом.
SH>Не совсем понял, как. SH>Берём элемент, меняем его с последним, после чего выкидываем. SH>После чего применяем к бывшему последнему, оказавшемуся в неправильном месте, алгоритм для "просеивания вниз". SH>Где подвох? Можете привести пример, на котором этот вариант ломается?
Здесь я не прав. Нет подвоха, все будет работать так, как Вы написали.