21
правка
Изменения
→delete
i = i + 1
'''if''' i != s.n <font color=green>// Если элемент найден, то</font color=green>
'''for''' j = i '''to''' s.n - 2 <font color=green>// сдвигаем все элементы массива, следующие за текущим, на единицу влево</font color=green> s.elements[j] = s.elements[j + 1] <font color=green>// (тем самым удаляем элемент elem; последний элемент массива дублируется).</font color=green> '''if''' elem % 2 == 0 <font color=green>// Если удаленный элемент был четным, то</font color=green> s.even = s.even - 1 <font color=green>// уменьшаем количество четных элементов на единицу,</font color=green> '''else''' <font color=green>// в противном случае</font color=green> s.odd = s.odd - 1 <font color=green>// уменьшаем количество нечетных элементов.</font color=green>
s.n = s.n - 1 <font color=green>// Уменьшаем общее число элементов на единицу.</font color=green>
Array.Resize(s.elements, s.n) <font color=green>// Удаляем дубликат последнего элемента.</font color=green>
</code>
Время выполнения {{---}} <tex>O(n)</tex>.
=== '''search''' ===