Решение задачи через один только проход
Да, эту задачу можно решить также и тупо одним проходом, нам снова понадобиться count(счетчик). Только теперь, кроме него нам нужна дополнительная функция swap(которая меняет местами элементы)
Итого у нас будет изначально count = 0 и цикл от начала до конца нашего массива. Мы будем проверять, если наш текущий элемент не равен 0, мы будем менять местами count элемент и элемент на текущей i-ой позиции:
for i in range(0, n):
if (arr[i] != 0):
arr[count], arr[i] = arr[i], arr[count]
count+=1
Data Science: Алгоритмы и Структуры данных
Да, эту задачу можно решить также и тупо одним проходом, нам снова понадобиться count(счетчик). Только теперь, кроме него нам нужна дополнительная функция swap(которая меняет местами элементы)
Итого у нас будет изначально count = 0 и цикл от начала до конца нашего массива. Мы будем проверять, если наш текущий элемент не равен 0, мы будем менять местами count элемент и элемент на текущей i-ой позиции:
for i in range(0, n):
if (arr[i] != 0):
arr[count], arr[i] = arr[i], arr[count]
count+=1
Data Science: Алгоритмы и Структуры данных