在 C++ 中将所有零移动到数组的末尾

在本教程中,我们将编写一个程序,将数组中的所有零移动到末尾。

让我们看看解决问题的步骤。

  • 初始化数组。

  • 将索引初始化为0。

  • 迭代给定的数组。

    • 如果当前元素不为零,则使用当前元素更新索引处的值。

    • 增加索引。

  • 编写一个循环,从上面的索引迭代到n

    • 将所有元素更新为0。

示例

让我们看看代码。

#include <bits/stdc++.h>

using namespace std;

void moveZeroesToEnd(int arr[], int n) {

   int index = 0;

   for (int i = 0; i < n; i++) {

      if (arr[i] != 0) {

         arr[index++] = arr[i];

      }

   }

   while (index < n) {

      arr[index++] = 0;

   }

}

int main() {

   int arr[] = {4, 5, 0, 3, 2, 0, 0, 0, 5, 0, 1};

   int n = 11;

   moveZeroesToEnd(arr, n);

   for (int i = 0; i < n; i++) {

      cout << arr[i] << " ";

   }

   cout << endl;

   return 0;

}

输出结果

如果你运行上面的代码,那么你会得到下面的结果。

4 5 3 2 5 1 0 0 0 0 0

结论

如果您对本教程有任何疑问,请在评论部分提及。

以上是 在 C++ 中将所有零移动到数组的末尾 的全部内容, 来源链接: utcz.com/z/347557.html

回到顶部