| Сьогодні | Разом | |
| Відвідувань | 204 | 5426041 |
| Авторізацій | 22 | 436235 |
| Користувачів | 9 | 2718 |
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;
В этом алгоритме переход к предыдущему элементу массива осуществляем не зависимо от того, удаляем ли мы его или нет.