Изменения

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

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

395 байт убрано, 22:00, 30 июня 2015
insert
<code>
'''func''' insert(Set<T> s, T elem):
'''int''' i = 0
'''while''' i < s.n '''&&''' s.elements[i] < elem <font color=green>// Ищем индекс первого элемента, большего ''elem''.</font color=green>
i++
s.n = s.n + 1 <font color=green>// Увеличиваем количество элементов множества на единицу,</font color=green>
Array.Resize(s.elements, s.n) <font color=green>// увеличиваем размер массива с элементами множества на единицу.</font color=green>
'''if''' i != s.elements[s.n - 1 ] = elem <font color=green>// Если Вставляем ''elem'' не максимальный,в конец массива</font color=green> '''int''' j '''for''' j i = s.n - 2 '''downto'1 '' i <font color=green>// то сдвигаем все элементы массива, большие 'while'elem'',</font color=green> s.elements[j + 1i] = < s.elements[ji - 1] <font color=green>// на одну позицию вправо.Сортируем массив,</font color=green> swap(s.elements[i], s.elements[i- 1] = elem <font color=green>// Вставляем пока ''elem'' не окажется в нужное местонужном месте.</font color=green>
</code>
Время выполнения {{---}} <tex>O(n)</tex>.
Анонимный участник

Навигация