java数据结构举例-幻方实现

来源:互联网 发布:虚拟炒股软件 编辑:程序博客网 时间:2024/05/17 01:14

今天介绍一下数组的一些例子,例如利用数组实现幻方。

幻方又叫做魔方阵,幻方阵,游戏规则是在一个n*n的矩阵中填入1到n*n的数字,使得买一行,每一列,每条对角线的累加相等。

java算法的实现:

package array;public class ArrayHF {//幻方的实现public int[][] sQueue(int n){int[][] a=new int[n][n];int i=0,j=n/2;//起始点为第一行的中间位置a[i][j]=1;//设置中间位置初始值为1for(int k=2;k<=n*n;k++){//将幻方中的1,n*n数字填入二维数组中去int iTemp=i,jTemp=j;//暂时用来存放i,j的值i=(i-1+n)%n;//i往上移动一格j=(j-1+n)%n;//j往左移动一格if(a[i][j]>0){//第i行第j列已填i=(iTemp+1)%n;//行数加一填入数字j=jTemp;//本列不变}a[i][j]=k;}return a;}public void disPlay(int[][] a){//打印数组中的所有元素for(int i=0;i<a.length;i++){for(int j=0;j<a[i].length;j++){System.out.print(a[i][j]+" ");}System.out.println();}}public static void main(String[] args) {ArrayHF a=new ArrayHF();int[][] anum=new int[2][2];a.disPlay(a.sQueue(5));}}


如果有什么不清楚或者有啥疑问意见可以加我QQ/微信  208017534  / qiang220316,欢迎一起交流一起进步。



0 0
原创粉丝点击