Изменения

Перейти к: навигация, поиск

Упорядоченное множество

517 байт убрано, 23:47, 30 июня 2015
Нет описания правки
'''T''' predecessor(Set<T> s, T elem):
'''int''' i = binSearch(s.elements, elem)
'''if''' s.elements[i] == elem '''and''' i != > 0 <font color=green>// Элемент, предшествующий первому, не существует.</font color=green>
'''return''' s.elements[i - 1]
'''else'''
<code>
'''T''' successor(Set<T> s, T elem):
'''ifint''' i = binSearch(s.elements[0] <= , elem ) '''&&if''' s.elements[s.ni] > elem <font color=green>// Если элемент ''= elem'' существует и не равен максимальному,</font color=green> '''intand''' i = binSearch(< s.elements, elem) n - 1 <font color=green>// то ищем индекс элемента ''elem''Элемент, следующий за последним, не существует.</font color=green> '''return''' s.elements[i + 1] <font color=green>// и выводим следующий за ним элемент.</font color=green> '''else''' <font color=green>// В противном случае</font color=green> '''return''' ''null'' <font color=green>// возвращаем ''null''.</font color=green>
</code>
Время выполнения {{---}} <tex>O(\log n)</tex>.
Анонимный участник

Навигация