爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2883|回复: 5

[求助] 如何过滤数组呢?

[复制链接]

新浪微博达人勋

发表于 2014-9-6 08:10:35 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
比如本身数组有10个元素长度, 把里面小于某个阈值的值过滤掉后, 剩下的元素放入到一个新的数组中但是新数组的长度在过滤之前是无法预知的


请教大侠
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-6 13:26:24 | 显示全部楼层
都用不着放入新数组:当你发现要过滤的元素时把该元素同最后一个元素交换同时数量减一就是。(从当前位置继续过滤)。

放入新数组就更简单了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-9-6 18:02:41 | 显示全部楼层
定义两个数组就ok了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-9-6 21:49:24 | 显示全部楼层
人走茶不凉 发表于 2014-9-6 13:26
都用不着放入新数组:当你发现要过滤的元素时把该元素同最后一个元素交换同时数量减一就是。(从当前位置继 ...

数量减一?? 数组长度可变吗?
还是指引用的时候用a(1:9), 不引用最后一个的方法呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-6 21:52:00 | 显示全部楼层
新数组可以定义跟原数组一样长,然后每满足一个,i=i+1,最后的(i-1)就是新组的长度
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-9-7 08:15:07 | 显示全部楼层
本帖最后由 人走茶不凉 于 2014-9-7 08:16 编辑
lon91ong 发表于 2014-9-6 21:49
数量减一?? 数组长度可变吗?
还是指引用的时候用a(1:9), 不引用最后一个的方法呢?

数组的长度当然不变,但你记录的元素的数量可以变少啊。释放数组的内存不需要你操心的,编译系统会自己决定的,即跟你用的元素的数量没关系的。

如果定义一个新数组,而且想节约空间即第二个数组的元素都是符合要求的,那么你就要对第一个数组浏览两遍:第一遍看看有多少符合要求的元素,为新数组分配内存;第二遍,把原有数组符合要求的元素放入第二个数组。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表