标题:数组索引的转换问题请教大神们
只看楼主
harrya
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-29
结帖率:0
 问题点数:0 回复次数:2 
数组索引的转换问题请教大神们
//=================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是数组长度,各位帮小弟分析一下



搜索更多相关主题的帖子: void direction continue false 
2012-12-29 22:02
w527705090
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:11
帖 子:441
专家分:1882
注 册:2011-6-28
得分:0 
连分都没有。。。

有心者,千方百计;无心者,千难万难。
2012-12-30 13:35
harrya
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2012-12-29
得分:0 
回复 2楼 w527705090
以后补上啊,问题是你也没懂吧嘻嘻
2012-12-30 18:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-394483-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.352300 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved