请用c/c++举例说明
时间: 2023-07-06 22:35:30 浏览: 94
好的,以下是使用 C++ 实现的示例代码:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<int> remove_trailing_zeros(vector<int>& arr) {
int i = arr.size() - 1; // 指向数组末尾
int j = arr.size() - 1; // 指向当前需要填充零的位置
while (i >= 0) {
if (arr[i] != 0) {
arr[j] = arr[i];
j--;
}
i--;
}
while (j >= 0) { // 将剩余位置填充为零
arr[j] = 0;
j--;
}
return arr;
}
int main() {
vector<int> arr = {1, 2, 0, 0, 3, 0, 4, 5, 0};
vector<int> result = remove_trailing_zeros(arr);
for (int i = 0; i < result.size(); i++) {
cout << result[i] << " ";
}
cout << endl;
return 0;
}
```
这里使用了 STL 中的 vector 容器来保存数组,但本质上和普通的数组操作是一样的。在主函数中,我们创建了一个数组 arr,并调用 remove_trailing_zeros 函数进行操作。最后输出操作后的数组。
阅读全文