我们最常见的循环方式是:for(int i=0;i<M;i++){
    for(int j=0;j<N;j++){
     //...
}
}
螺旋循环的思想是从中心开始,然后逐渐向外扩充.
                ....14 13                        
                 5 4 3 12                                 
                 6 1 2 11                               
                 7 8 9 10                            
依次类推,大家推荐几种实现的方法,谢谢

解决方案 »

  1.   

    提供参考:
    假如是4行4列:
    1.i=2;  j= 1,2;
    2.i=1   j= 2,1,0;
    3.i=2;  j= 0;
    4,i=3;  j= 0,1,2,3;
    5,i=2,  j= 3;
    6,i=1,  j=3
    7,i=0   j= 3,2,1,0还在努力着!~~~~~~~~~
      

  2.   

    3行3列                               5行5列:     
    1.i=1; j=1,2;                    1,i=2,j=2,3;
    2.i=0, j=2,1,0;                  2,i=1;j=3,2,1;
    3.i=1; j=0;                      3. 
    4,i-2; j=0,1,2
      

  3.   

    handwolf(初学者) 说的没错,需要考虑行数和列数.我开始的想法是直接定义一个循环矩阵,比如
    POINT arrayCycle[M*N];
    POINT.x,POINT.y定义了每次循环时的坐标.
    假设第一次循环是从[0,0]开始的,
    那么arrayCycle[0].x = arrayCycle[0].y=0;