前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java数据结构举例-幻方实现

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

作者头像
林老师带你学编程
发布2022-11-30 10:37:28
2870
发布2022-11-30 10:37:28
举报
文章被收录于专栏:强仔仔

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

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

java算法的实现:

代码语言:javascript
复制
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;//设置中间位置初始值为1
		for(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));
	}
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-06-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档