| Сьогодні | Разом | |
| Відвідувань | 296 | 5403879 |
| Авторізацій | 11 | 434261 |
| Користувачів | 5 | 2731 |
29. Удаление всех нулевых элементов массива
k := 1;
while k <= n do
if a[k] = 0
then begin
// Удалить k-й элемент массива
end
else k := k + 1
В этом алгоритме важно учесть, что переход к следующему элементу массива (k := k + 1) необходим только в случае, если текущий элемент не нулевой и его удалять не нужно.
k := n;
while k >= 1 do begin
if a[k] = 0
then begin
// Удалить k-й элемент массива
end;
k := k - 1
end;
В этом алгоритме переход к предыдущему элементу массива осуществляем не зависимо от того, удаляем ли мы его или нет.