题目来源于力扣–https://leetcode-cn.com/

将数组中的零元素移动到数组末尾,非零元素相对的顺序不会被改变。
将非零元素往前移,使用两个指针,i指针,j指针,初始化指在数组首位,i所指的位置是可以被替换的位置,当j指针所指元素不为0时,将j所指位置的元素赋值给i所指的位置,i++,j++,否则为0时,i不动,j++。

main函数下的代码

#include<stdio.h>
void moveZeroes(int* nums, int numsSize);
int main(){int nums[5] = {0,1,0,3,12};moveZeroes(nums,5);for(int i=0;i<5;i++){printf("%d ",nums[i]);}return 0;
}

移动非零元素的代码

void moveZeroes(int* nums, int numsSize){// 将非零元素往前移,i指针,j指针,遇到0元素i指针不动,j指针往后走,如果j所指的元素不等于0,替换掉i位置的0元素,i++,j++,// i的位置一直是可以替换的位置,指到j走完数组,i所在的位置就是要全部替换成0的位置 int i = 0;for(int j=0;j<numsSize;j++){if(nums[j]!=0){nums[i++] = nums[j]; } }for(i;i<numsSize;i++){nums[i] = 0;}
}

数组零元素移动到末尾相关推荐

  1. 最大回撤率 和 移动数组零元素到末尾

    最大回撤率 将数组中零元素移动到末尾,要求算法时间复杂度为O(n),空间复杂度为O(1) 最大回撤率: 在选定周期内任一历史时点往后推,产品净值走到最低点时的收益率回撤幅度的最大值.最大回撤率用来描述 ...

  2. python【蓝桥杯vip练习题库】ALGO-79删除数组零元素

    试题 算法训练 删除数组零元素 资源限制 时间限制:1.0s 内存限制:512.0MB 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组 ...

  3. 蓝桥杯-删除数组零元素(java)

    算法训练 删除数组零元素 时间限制:1.0s 内存限制:512.0MB从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移动.注意,C ...

  4. Java实现 蓝桥杯 算法训练 删除数组零元素

    算法训练 删除数组零元素 时间限制:1.0s 内存限制:512.0MB 提交此题 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素,其后元素向数组首端移 ...

  5. 蓝桥杯试题算法训练之删除数组零元素——Python满分解答

    删除数组零元素 问题描述 样例输入 样例输入2 样例输入3 样例输出 样例输出2 样例输出3 解题思路 代码实现 问题描述 从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数 ...

  6. 《C#零基础入门之百识百例》(二十一)数组遍历 -- 删除数组零元素

    C#零基础入门 数组相关 -- 数组遍历 前言 一,数组的介绍 1.1 相关概念 1.2 几个概念 二,数组的使用 2.1 定义初始化 2.2 数组的引用 2.3 数组的遍历 三,实例练习 -- 删除 ...

  7. 蓝桥杯 ALGO-79 算法训练 删除数组零元素

    从键盘读入n个整数放入数组中,编写函数CompactIntegers,删除数组中所有值为0的元素, 其后元素向数组首端移动.注意,CompactIntegers函数需要接受数组及其元素个数作为参数, ...

  8. LeetCode第一阶段(一)【数组篇】

    LeetCode 283 Move Zeros 给定一个数组nums,写一个函数,将数组中所有的0挪到数组的末尾,而维持其他所有非0元素的相对位置. 举例:nums = [0,1,0,3,12],函数 ...

  9. JavaScript数组练习

    目录 1.查找数组元素的位置 2.查找数组元素在数组中出现的次数 3.数组求和 4.移除数组元素 5.添加数组元素 1.在末尾添加 2.在开头添加 6.数组合并 7.数组去重 1.添加到新数组的方式 ...

最新文章

  1. 【直播】杨剑砺:数据可视化漫谈
  2. pycharm 汉化
  3. 浅谈JVM的GC策略
  4. blfs(systemd版本)学习笔记-配置远程访问和管理lfs系统
  5. [ARM异常]-armv8/armv9异步异常类型、路由、屏蔽
  6. 2.3.10 哲学家进餐问题
  7. 第23天:指导与管理项目工作和4种合同的区别
  8. 15分钟从零开始搭建支持10w+用户的生产环境(二)
  9. Coreseek Windows下安装调试
  10. linux扩展磁盘空间命令_在Linux上监视磁盘空间– SQL Server DBA的有用命令
  11. SURF算法学习心得
  12. WordPress源代码研究-插件机制
  13. 主板检测卡c5_电脑开机停在主板logo
  14. 用java观察者模式解耦经典三层架构
  15. 爬虫之抽屉新热榜点赞基本示例
  16. 【多多情报通】看完让人焕然大悟的6种拼多多店铺玩法
  17. 基于C#实现的在线聊天室的桌面系统软件
  18. Coinlist要闻:即将到来的以太坊合并的风险有多大?
  19. button按钮居中
  20. 7-12 求6+66+666+6666+66666。分数 10

热门文章

  1. HarmonyOS分布式教育,HarmonyOS赋能智慧教育,带来教育产业全新数字化变革
  2. php7030是什么意思,入手评测3M3M7030好用吗?怎么样呢?最新质量反馈揭秘
  3. SpringCloud(7)—— 国寿i动项目经验之(过滤器Filter技术(请求体二次解密处理技术))...
  4. 程序员常用英语词汇(016)
  5. 藏文字符的输入与输出
  6. C++ Sleep 函数
  7. 计算机二级Word考点思维导图
  8. 为php设置系统变量、环境变量
  9. 【动态代理】CGLIB 动态代理的使用及原理
  10. 表单默认空白,无数据时赋默认值,新增时赋默认值