用C++完成:给定一个整数数组 nums,将所有0移动到数组的末尾,同时保持非零元素的相对顺序。
时间: 2024-05-05 14:15:31 浏览: 177
python 移动零,给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序
5星 · 资源好评率100%
```c
void moveZeroes(int* nums, int numsSize){
int i,j=0;
for(i=0;i<numsSize;i++){
if(nums[i]!=0){
nums[j++]=nums[i];
}
}
while(j<numsSize){
nums[j++]=0;
}
}
```
思路:定义一个指针j指向非零元素的下标,遍历数组,当遇到非零元素时,将其赋值给nums[j],同时j指针后移;最后将nums[j]~nums[numsSize-1]的元素赋值为0。这样就能够实现把0移动到数组末尾,同时保持非零元素的相对顺序。
阅读全文