我这个中值滤波的程序应该如何优化呢?
int x,y,z,p,q;float o;
for(x=0;x<20;x++)
for(y=0;y<360;y++)
for(z=0;z<800;z++)
{
if(y>1&&z>1)
float aa[9]={gRef0[x][y][z],gRef0[x][y-1][z],gRef0[x][y-2][z],gRef0[x][y][z-1],gRef0[x][y-1][z-1],gRef0[x][y-2][z-1],gRef0[x][y][z-2],gRef0[x][y-1][z-2],gRef0[x][y-2][z-2]};
for(p=0;p<8;p++)
for(q=0;q<8-p;p++)
{
if(aa[p]>aa[p+1])
{
o=aa[p];
aa[p]=aa[p+1];
aa[p+1]=o;
}
}
gRef[x][y-1][z-1]=aa[5];
}
}
这个程序占用太多内存,请问各位牛人朋友,我应该如何优化呢?能力有限,恳请大神们帮忙看看啊