螺旋矩阵的Java实现
来源:互联网 发布:淘宝修改中差评团队 编辑:程序博客网 时间:2024/06/06 20:05
记得以前的一次程序题,花好长时间才弄出来的:
给定一个正整数n,构造一个n×n维的矩阵,从1,2,........到n×n使其位置的轨迹构成一个螺旋状,for example when n=5,the matrix showed as below:
1 , 2 , 3 , 4 , 5 ,
16, 17, 18, 19, 6 ,
15, 24, 25, 20, 7 ,
14, 23, 22, 21, 8 ,
13, 12, 11, 10, 9 ,
/**
* @(#)Exam.java
*
*
* @westsky
* @version 1.00 2007/4/21
*/
public class Exam {
/**
* Creates a new instance of <code>Exam</code>.
*/
public Exam() {
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
int n=5;
int m;
int flag=0;
int k=0;
int num=1;
int [][]a=new int[n][n];
for(m=n-1;m>0;m=m-2){
if(flag==0){
for(int i=0;i<m;i++){
a[k][i+k]=num++;
}
flag=(flag+1)%4;
}
if(flag==1){
for(int i=0;i<m;i++){
a[i+k][n-1-k]=num++;
}
flag=(flag+1)%4;
}
if(flag==2){
for(int i=0;i<m;i++){
a[n-1-k][n-1-i-k]=num++;
}
flag=(flag+1)%4;
}
if(flag==3){
for(int i=0;i<m;i++){
a[n-1-i-k][k]=num++;
}
flag=(flag+1)%4;
}
k++;
}
if((n%2)==1)
a[n/2][n/2]=n*n;
String format=null;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
format=a[i][j]>9?", ":" , ";
System.out.print(a[i][j]+format);
}
System.out.println();
}
}
}
Though the code maybe redundant,it resolves the problem!!!
- 螺旋矩阵的Java实现
- java 实现螺旋矩阵
- java实现螺旋矩阵
- 001螺旋矩阵的java实现
- 螺旋矩阵的两种JAVA实现
- 螺旋矩阵的实现
- 螺旋矩阵算法java实现
- 螺旋矩阵算法java实现
- 螺旋矩阵算法 java实现
- java实现数字螺旋矩阵
- Java实现-螺旋矩阵1
- Java实现-螺旋矩阵2
- 我的螺旋矩阵实现
- 螺旋矩阵的C实现
- 简单的实现螺旋矩阵
- 简单的螺旋矩阵的实现
- 蛇形矩阵,回环矩阵,数字螺旋矩阵的PHP实现
- n*n螺旋矩阵的实现
- URAL 1026. Questions and answers
- API对于文件的操作函数
- 悲观所和乐观所的初步认识
- 准备买半套旧电脑
- 数组与指针区别(转wanfustudio)
- 螺旋矩阵的Java实现
- Windows API
- 也谈ANTLR
- 开发COM+组件需要注意的几个地方
- ASP.NET2.0新特性-跨页传送(CrossPagePostBack)
- GNU make 的主要预定义变量及常用命令行选项
- 关于编译servlet时javax.servlet.http.*无法找到的解决这不是个容易的问题
- kruskal 算法java实现
- URAL 1028. Stars