日期:2014-05-17  浏览次数:20942 次

数组中空值的问题~
假设数组d[i]={6,3,,3,,,3,5,7,2,,,,,3,1}
空值的出现没有规律,我需要计算下一个非空数值减去上一个非空数值的结果,如:x1=3-6,x2=3-3,x3=3-3,x4=5-3
请问这个程序怎么写,有一个思路是把空值过滤掉,但是这样会不会占太多内存?因为我实际应用的是个三维数组,且数值较多。

------解决方案--------------------
不需要过滤掉,一次循环判断d[i][j]是否非空,如果非空则赋值给临时变量temp=d[i][j],继续循环找到下一个非空值d[i][k],这时d[i][k]-d[i][j]就是你要的值,然后temp=d[i][k],继续做如上判断知道循环结束。。。
------解决方案--------------------
一趟遍历就够了,两个变量记录上一个和下一个的位置,相减放到新数组