假设数组A[n]的n个元素中有多个零元素,设计一个算法,将A中所有的非零元素依次移到A的前端
来源:学生作业帮 编辑:大师作文网作业帮 分类:数学作业 时间:2024/11/15 16:04:42
假设数组A[n]的n个元素中有多个零元素,设计一个算法,将A中所有的非零元素依次移到A的前端
1算法设计思想(可文字叙述或画流程图)
2运行结果(需将结果截图到该文档中,图中文字、字母、符号应清晰可见)
谢谢!
1算法设计思想(可文字叙述或画流程图)
2运行结果(需将结果截图到该文档中,图中文字、字母、符号应清晰可见)
谢谢!
1.建立数组/链表,初始化数据
2. 两个指针,一个头指针,初值为null或(数组下标=-1), 一个尾指针指向元素尾部
头指针指示可交换头部位置(就是 这个指针前面都是交换好的非0元素不用在动了)
尾指针指向待处理元素
3.处理步骤 1. 判断尾指针元素是否非0 , 为真: 头指针+1, 头尾元素交换, 继续判断交换后的尾指针是否非0; 为真: 头指针+1, 头尾元素交换,继续判断交换后的尾指针是否非0(重复上面的);为假: 头指针不动,尾指针+1
4,终结条件, 头尾指针位置相等
当然这个不是优化算法,可以先判断头指针,如果头指针为非0元素可以直接+1,而不要再交换到尾部在判断在交换回去.
再问: 能不能把对应的程序代码帮我写下哈,我不是很懂,谢谢!
2. 两个指针,一个头指针,初值为null或(数组下标=-1), 一个尾指针指向元素尾部
头指针指示可交换头部位置(就是 这个指针前面都是交换好的非0元素不用在动了)
尾指针指向待处理元素
3.处理步骤 1. 判断尾指针元素是否非0 , 为真: 头指针+1, 头尾元素交换, 继续判断交换后的尾指针是否非0; 为真: 头指针+1, 头尾元素交换,继续判断交换后的尾指针是否非0(重复上面的);为假: 头指针不动,尾指针+1
4,终结条件, 头尾指针位置相等
当然这个不是优化算法,可以先判断头指针,如果头指针为非0元素可以直接+1,而不要再交换到尾部在判断在交换回去.
再问: 能不能把对应的程序代码帮我写下哈,我不是很懂,谢谢!
设数组R中n(n>1)个元素中有多个零元素,试设计一个算法将R中的所有非零元素依次移动到R数组的前端
设有一个含n个元素的数组,数组元素为自然数,写出一个算法,将所有值为素数的元素排在所有值为奇数的元素之前,将所有值为奇数
1.设有一个含n个元素的数组,数组元素为自然数,写出一个算法,将所有值为素数的元素排在所有值为奇数的元素之前,将所有值为
数据结构/C语言:[实验内容] 有一个整形数组a,其中含有n个元素,设计尽可能好的算法求
1.对一个整型数组A[n]设计一个排序算法.2.找出整型数组A[n]中元素的最大值和次最大值.3.A 是一个有
求算法:一个数组有N个元素,求出所有的排列
c++编写一个函数,分别求出一维整型数组a[n]中所有奇数元素的个数和所有偶数元素的个数.
给定数组a[0:n-1],试设计一个算法,在最坏情况下用3n/2-2次比较找出a[0:n-1]中元素的最大值和最
从键盘输入一个整数n(n≤10)和n个整数,存入数组a中,先依次输出各个数组元素的值,然后找出最大值,并输
试设计一个算法,将线性表的前m个元素和后n个元素进行互换
急将一个一维数组a(n)中各元素值按行的顺序放入二维数组b(k*k)(其中:n=k*k)).
设数组a中有N个元素,并已按递增次序排列,下面______程序段可以使a数组的元素按递减次序排列.