黑马程序员技术交流社区
标题:
打印螺旋矩阵:m*n的矩阵。
[打印本页]
作者:
1017161726
时间:
2015-4-26 17:22
标题:
打印螺旋矩阵:m*n的矩阵。
本帖最后由 1017161726 于 2015-4-26 17:24 编辑
//打印任意长宽的螺旋矩阵。一下午才写出来。这是一部分代码。有问题随时提。
class Luo
{
public static void main(String [] args)
{
int m=6,n=8; //m<=n。m代表第几行,n控制每行。
int [] [] arr=null;
if (m>n)
arr=new int [n] [m];
else
arr=new int [m] [n];
printArr(arr,m,n);
}
public static void printArr(int [] [] arr,int a,int b) //传值时,保证了a<=b。
{
int k=1;
for (int x=0;x<a/2;x++)
{
for (int y=x;y<b-x;y++)
{
arr[x][y]=k++;
}
for (int y=x+1;y<a-x-1;y++)
{
arr[y][b-x-1]=k++;
}
for (int y=b-x-1;y>=x;y--)
{
arr[a-x-1][y]=k++;
}
for (int y=x+1;y<a-x-1;y++)
{
arr[a-y-1][x]=k++;
}
}
if (a%2==1)
{
for (int x=0;x<=b-a;x++)
{
arr[a/2][a/2+x]=k++;
}
}
for (int x=0;x<arr.length;x++)
{
for (int y=0;y<arr[x].length;y++)
{
System.out.print(arr[x][y]+" ");
}
System.out.println();
}
}
}
复制代码
作者:
lclxjzz
时间:
2015-4-26 17:38
学习了·····
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2