码迷,mamicode.com
首页 > 编程语言 > 详细

关于数组漏判

时间:2016-05-03 01:59:00      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:

判断数组内所有元素,并删除满足条件的元素.

 

Eg:我们需要把数组arr内大于3的元素删除掉,那么我们写了如下代码:

 技术分享

 

该代码的执行结果如下所示

,

会发现内容与预期不符,是因为指针与元素的相对位置导致的漏判产生的.

 

对代码进行如下修改(增加一行i--;)

 技术分享

添加了i--;之后,那么才是我们需要的结果.

i--;所做的是改变了指针的位置,对每一个元素都进行了判断.

  

内容位置变化之后,指针位置也应该相应变化,那么就能避免漏判. 

 

大家可以发现将今天老师所写的代码中的i--;注释掉之后,代码的运行在肉眼上观察并没有什么区别,那是因为计时器每10ms执行一次,所以里面的for循环也是10ms执行一次,那么所漏判的的对象,将会在下一次执行for循环时删除,然而这一切发生的时间太快,所以肉眼观测不出区别.

 本文是针对今天老师所讲的判断边界的for循环内,大家对i--;的理解问题所写,个人见解,仅供参考.

 

关于数组漏判

标签:

原文地址:http://www.cnblogs.com/liqingshan/p/5453628.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!