算法,有兴趣的高手进来试试
写一个算法实现:将其按“从左到右、从上到下”的顺序,后退一位,第一位(rows(0),columns(0))由被移出的最后一位(rows(x-1),columns(x-1))填上。   
 例如(当x=3): 
 1   2   3            step   1                  9   1   2            step   2                        8   9   1 
 4   5   6   ------------->    3   4   5   -------------->       2   3   4      ...... 
 7   8   9                                                6   7   8                                                      5   6   7   
 算法想了很久,没有想出来..希望高手写出来.用冒牌法好象不行.
------解决方案--------------------class Program 
     { 
         static void Main() 
         { 
             const int GO = 3; 
             int[] myArray = new int[GO * GO]; 
             for (int i = 0; i  < GO * GO; i++) 
             { 
                 myArray[i] = i+1; 
             } 
             for (int v = 0; v  < GO * GO; v++) 
             { 
                 for (int a = 0; a  < GO * GO; a++) 
                 { 
                     int[] newArray = new int[GO * GO]; 
                     int s = a - v; 
                     if (s  <0) 
                         s = s + GO * GO; 
                     newArray[a] = myArray[s]; 
                     Console.Write( "{0}  ", newArray[a]); 
                     if((a+1)%GO==0) 
                         Console.WriteLine(); 
                 } 
                 Console.WriteLine();                 
             } 
             Console.ReadLine(); 
         }   
     }