`
xiaolng
  • 浏览: 31889 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

数组赋值

 
阅读更多
public class Demo {

	public int count = 0;
	public int total = 0;
	public int num = 0;
	public int [][] args;
	/**
	 * 1  2  3  4 
	 * 12 13 14 5
	 * 11 16 15 6
	 * 10 9  8  7
	 * 
	 */
	public Demo(int num){
		args = new int [num][num];
		total = num*num;
		process(0, 0, num, 0);
	}
	
	private void process(int x, int y, int next, int times) {
		// x+
		for (int i = next; i > 0; i--) {
			if(count !=0 && total == count ){
				return;
			}
			
			args[x][y] = ++count;
			if((x-times) < (next -1)){
				x++;
			}
		}
		// y+
		for (int i = next -1; i > 0; i--) {
			if(count !=0 && total == count ){
				return;
			}
			if((y -times) < (next -1)){
				y++;
			}
			args[x][y] = ++count;
		}
		// x-
		for (int i = next -1; i > 0; i--) {
			if(count !=0 && total == count ){
				return;
			}
			x --;
			args[x][y] = ++count;
		}
		// y-
		for (int i = next -2; i > 0; i--) {
			if(count !=0 && total == count ){
				return;
			}
			y --;
			args[x][y] = ++count;
		}
		if(count !=0 && total == count ){
			return;
		}else{
			process(x+1,y,next-2, times+1);
		}

	}
	public static void main(String[] args) {
		new Demo(2);
	}
}


分享到:
评论

相关推荐

    matlab数组赋值的多种方法

    "Matlab 数组赋值的多种方法" Matlab 作为一款功能强大的科学计算软件,对数组的操作是其核心功能之一。数组赋值是 Matlab 中最基本的操作之一,对于数组的赋值有多种方法,本文将详细介绍 Matlab 数组赋值的多种...

    易语言学习进阶二维数组赋值

    下面是一个简单的易语言二维数组赋值源码示例,它创建一个二维数组并填充1到9的数字: ```易语言 .整数型 数组名[3, 3] .循环(3) .循环(3) 数组名[循环索引1, 循环索引2] = 循环索引1 * 3 + 循环索引2 + 1 ...

    易语言学习进阶二维数组赋值源码

    本篇文章将深入探讨易语言中的二维数组赋值以及相关源码解析。 首先,了解易语言的基本语法对于学习二维数组至关重要。易语言采用中文作为编程语言,降低了编程的入门难度,其语法简洁明了。二维数组在易语言中定义...

    java代码-使用java增强for循环 string数组赋值的源代码

    java代码-使用java增强for循环 string数组赋值的源代码 ——学习参考资料:仅用于个人学习使用!

    C语言数组赋值一例

    从这里学习到一个数组的赋值的方法,即实际赋值可以按不同的顺序(只要是合法的下标),而不是仅限于从0~N这样的顺序去赋值。

    matlab数组赋值的示例

    matlab数组赋值的示例,一眼看懂

    如何给链表数组赋值.rar_如何 链表 数组 赋值_链表_链表数组赋值_链表赋值

    给链表数组赋值涉及到链表的创建、插入、遍历以及数组的初始化等操作。 1. **链表创建**: 在C++中,链表通常通过结构体或类来实现,包含一个数据成员(存储元素)和一个指向下一个节点的指针。首先,我们需要定义...

    易语言源码易语言学习进阶二维数组赋值源码.rar

    本压缩包文件"易语言学习进阶二维数组赋值源码.rar"提供了相关的源代码示例,帮助学习者深入理解二维数组的赋值操作。 二维数组可以看作是一组一维数组的集合,它在内存中以表格的形式存储数据,每个元素都有两个...

    C例子:数组赋值

    该程序是我写的博客“一起talk C栗子吧(第五回:C语言实例--数组巧妙赋值)”的配套程序,共享给大家使用。

    MATLAB数组赋值.md

    matlab数组赋值 内容概要 本文介绍了在MATLAB中进行数组赋值的方法,并提供了相应的示例代码和详细说明。通过学习本文,您将掌握以下知识和技能: 理解数组赋值的概念; 掌握创建和初始化空数组的方法; 了解使用...

    易语言学习进阶一维数组赋值

    3. **数组赋值函数**:易语言提供了一些内置函数,如“数组赋值”和“数组拷贝”,可以方便地将一个数组的值整体复制给另一个数组。这在处理数组数据的复制和交换时非常实用。 4. **数组初始化**:在声明数组的同时...

    2维数组赋值.cpp

    C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于...

    解决Python二维数组赋值问题

    然而,在处理二维数组赋值时,可能会遇到一些陷阱,特别是在初始化数组时。本篇文章将深入探讨如何正确地解决Python二维数组赋值的问题。 首先,让我们看看导致问题的初始化方法: ```python s = [[0]*3]*2 ``` 在...

    matlab数组赋值+示例代码

    然后,我们演示了四种不同的数组赋值方式: 直接赋值:使用A(1, 1)的形式将第一行第一列的元素替换为新值10。 使用逗号运算符赋值:使用A(2, :) = [10, 20, 30]的形式将第二行的元素依次替换为10、20和30。 使用...

    java数组赋值jie

    本文将详细介绍 Java 中数组赋值的几种方法,并提供相应的示例。 首先,我们来看**逐个赋值**。这种方法适用于数组元素需要独立设置的情况。例如,创建一个整型数组 `int[] arr`,我们可以直接通过索引来给每个元素...

    js 对象、数组赋值不指定路径(简洁写法).pdf

    在JavaScript中,对象和数组的赋值操作与基本数据类型如字符串、整数或布尔值的赋值有所不同。这是因为在JavaScript中,对象和数组是引用类型,它们在内存中分配的位置是固定的,赋值实际上是复制了对这个内存位置的...

    用matlab如何给数组赋值.zip

    在MATLAB中,数组赋值是一项基础且重要的操作,它涉及到数据处理、矩阵运算和算法实现等多方面。本教程将深入探讨如何在MATLAB环境中有效地对数组进行赋值,尤其是通过循环结构来实现。 首先,MATLAB中的数组赋值...

    vue 解决数组赋值无法渲染在页面的问题

    然而,当涉及到数组时,Vue并不能自动检测到某些直接修改数组的操作,比如`数组赋值`。这导致了一个常见的问题:当你尝试通过赋值方式更新数组,虽然实际数组确实被修改了,但Vue的视图不会随之更新,从而引发“数组...

    matlab数组赋值.md

    matlab数组赋值

Global site tag (gtag.js) - Google Analytics