数组索引的转换问题请教大神们
//=================CSCAN,循环扫描算法=======================void CSCAN()
{
int m,n,temp;
temp=BeginNum;
Sort();
cout<<"请选择开始方向:1--向外;0---向里";
cin>>m;
if(m==1)
direction=true;
else if(m==0)
direction=false;
else
cout<<"输入错误";
for(int i=0;i<N;i++)
{
if(SortOrder[i]<BeginNum)
continue;
else
{
n=i;
break;
}
}
if(direction==true)
{
for(int i=n;i<N;i++)
{
MoveDistance[i-n]=abs(SortOrder[i]-temp);
temp=SortOrder[i];
FindOrder[i-n]=SortOrder[i];
}
for(int j=0;j<n;j++)
{
MoveDistance[N-n+j]=abs(SortOrder[j]-temp);
temp=SortOrder[j];
FindOrder[N-n+j]=SortOrder[j];
}
}
else
{
for(int i=n-1;i>=0;i--)
{
MoveDistance[n-1-i]=abs(SortOrder[i]-temp);
temp=SortOrder[i];
FindOrder[n-1-i]=SortOrder[i];
}
for(int j=N-1;j>=n;j--)
{
MoveDistance[N-j+n-1]=abs(SortOrder[j]-temp);
temp=SortOrder[j];
FindOrder[N-j+n-1]=SortOrder[j];
}
}
}
那些数组的索引怎么转换的????比如里面一段大概意思是用for将abs(SortOrder[i]-temp);
的值复制到MoveDistance数组,并且是从MoveDistance[0]开始的,程序中的N-j+n-1怎么求得,其中N是数组长度,各位帮小弟分析一下