`
javaloverkehui
  • 浏览: 540 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

螺旋矩阵

    博客分类:
  • java
阅读更多
/**
	 * 1 16 15 14 13
	 * 2 17 24 23 12 
	 * 3 18 25 22 11
	 * 4 19 20 21 10
	 * 5 6  7  8  9
	 */
	public static void print(int n){
		
		int[][] xy = new int[n][n];
		int circle = n / 2;//圈数
		int x = 0;
		int y = 0;
		int start = 0;
		for(int i = 0; i < circle; i++){
			int step = n - i*2;//步数
			//左
			for(int k = 0; k < step;k++){
				xy[x][y] = ++start;
				if(k < step -1){
					++y;
				}
			}
			
			//下右都是一样的步数
			step = step - 1;
			
			//横坐标向右移一位
			++x;
			//下
			for(int k = 0; k < step; k++){
				xy[x][y] = ++start;
				if(k < step - 1){
					++x;
				}
			}
			
			//纵坐标向上移一位
			--y;
			//右
			for(int k = step; k > 0; k--){
				xy[x][y] = ++start;
				if(k != 1){
					--y;
				}
			}
			
			//横坐标向左移一位
			--x;
			//上
			step = step - 1;
			for(int k = step; k > 0; k--){
				xy[x][y] = ++start;
				if(k != 1){
					--x;
				}
			}
			//移位到下一圈
			++y;
		}
		
		if(n % 2 > 0){
			xy[x][y] = ++start;
		}
		
		for(int i = 0; i < xy.length; i++){
			for(int j = 0; j < xy.length; j++){
				System.out.printf("%02d ",xy[j][i]);
			}
			System.out.println("");
		}
	}
	
	public static void main(String[] args) {
		Test2.print(5);
	}
分享到:
评论

相关推荐

    螺旋矩阵matlab源程序

    螺旋矩阵是一种特殊的矩阵排列方式,它将数字按照顺时针或逆时针方向从左上角开始,沿着螺旋路径填充矩阵。在给定的MATLAB源程序中,我们看到两个程序,分别实现了顺时针和逆时针的螺旋矩阵。 1. 顺时针螺旋矩阵: ...

    螺旋矩阵源码_VB.NET

    螺旋矩阵是一种特殊的矩阵排列方式,它从矩阵的最外层开始,按照顺时针或逆时针方向螺旋式地填充元素。在VB.NET编程环境中,实现螺旋矩阵可以帮助开发者理解和掌握数组操作、循环控制以及基本算法设计。以下是关于...

    螺旋矩阵的实现

    ### 螺旋矩阵的实现 #### 知识点概览 本文将详细介绍如何使用C语言来实现一个螺旋矩阵,并按顺序输出从A到Z的字符。本例中,我们首先定义了一个固定大小的矩阵(这里设为10x10),然后根据用户输入的行数m和列数n...

    螺旋矩阵代码和课程设计

    螺旋矩阵是一种特殊的矩阵排列方式,它从矩阵的左上角开始,沿着顺时针方向填入数字,当遇到边缘时,会转向下一个边界继续填充,直到所有元素都被填充完毕。在编程中,实现螺旋矩阵通常涉及到数组操作和循环控制。 ...

    螺旋矩阵VC6

    螺旋矩阵是一种特殊的二维数组布局,它将数字按照顺时针或逆时针的螺旋路径填入矩阵中。这种数据结构在编程中常用于解决特定问题,例如数组操作、图形渲染等。在“螺旋矩阵VC6”中,我们讨论的是使用Visual C++ 6.0...

    c语言程序设计 螺旋矩阵

    螺旋矩阵是一种特殊的矩阵排列方式,它在编程中常被用作练习数据结构和算法的问题。在C语言程序设计中,创建螺旋矩阵涉及到数组操作、循环控制以及条件判断等基本概念。接下来,我们将深入探讨这些知识点。 1. **...

    c++实现在螺旋矩阵,有螺旋动画

    在C++编程中,螺旋矩阵是一种特殊的二维数组,它的元素按照顺时针或者逆时针方向螺旋式地填充。在给定的标题“c++实现在螺旋矩阵,有螺旋动画”中,我们可以推断出这个程序不仅创建了螺旋矩阵,还可能通过某种方式将...

    螺旋矩阵C代码

    螺旋矩阵时间限制: 1000ms 内存限制: 64000kB 描述 螺旋数组: 打印方阵为5的螺旋矩阵为 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 输入 5 输出 矩阵 样例输入 5 样例...

    JAVA实现螺旋矩阵

    螺旋矩阵是一种特殊的二维数组,它的元素按照顺时针或逆时针方向螺旋式地填充。在Java编程中,实现螺旋矩阵通常涉及到二维数组的操作和控制流的管理。下面我们将详细探讨如何使用Java来实现螺旋矩阵。 首先,我们...

    螺旋矩阵c语言实现(完整)

    螺旋矩阵是一种特殊的矩阵,其中元素按照顺时针或逆时针方向填充。在这个C语言实现中,程序首先定义了一个二维数组`array`,用于存储螺旋矩阵。用户通过输入`rows`和`cols`来确定矩阵的行数和列数。 在主函数`main...

    算法实例之一--螺旋矩阵VB程序

    ### 一、螺旋矩阵的基本概念 螺旋矩阵是指一种按照螺旋顺序填充数字的二维数组。在该矩阵中,数字从中心或某一固定位置开始向外以螺旋的形式逐渐增加。例如,一个3x3的螺旋矩阵可能如下所示: ``` 1 2 3 8 9 4 7 6 ...

    在vc环境下c++实现螺旋矩阵的输出

    螺旋矩阵是一种特殊的矩阵,它的元素按照顺时针或者逆时针的方向螺旋式地填充。在C++编程中,实现螺旋矩阵的输出是一项基础且有趣的任务,尤其在VC(Visual C++)环境下,我们可以利用标准模板库(STL)以及基本的...

    C语言实现的螺旋矩阵

    用C语言实现了螺旋矩阵,其中n。如输入4,则会输出4*4的螺旋矩阵

    c语言螺旋矩阵大作业报告.docx

    【螺旋矩阵的C语言实现】 螺旋矩阵是一种特殊的二维数组,其元素按照螺旋顺序填充。在C语言中,可以通过控制循环的步进和方向来实现不同的螺旋矩阵类型。本实验主要涉及以下六种螺旋矩阵的生成: 1. **左上角...

    c++ 螺旋矩阵 算法实现 源代码 原创

    螺旋矩阵是一种特殊的矩阵布局方式,它的特点是元素按照顺时针或逆时针的螺旋路径填充。在C++中实现螺旋矩阵算法,可以分为以下几个关键步骤: 1. **初始化**: 创建一个二维数组,其大小根据矩阵的阶数确定。阶数...

    螺旋矩阵类代码

    螺旋矩阵是一种特殊的矩阵布局方式,它的元素按照螺旋方向填充,从左上角开始,顺时针或逆时针依次填入。在给定的代码中,我们看到的是一个实现螺旋矩阵填充的C语言程序,其核心是通过嵌套循环来控制元素的填充顺序...

    螺旋矩阵的c++源代码

    螺旋矩阵是一种特殊的矩阵排列方式,它的特点是按照顺时针或者逆时针方向填充数字,形成一个螺旋状。在给定的C++源代码中,实现了一个生成螺旋矩阵的程序。以下是对这段代码的详细解释: 1. **常量定义**: `const...

    内螺旋矩阵算法

    内螺旋矩阵算法是一种在二维数组中填充数字的特殊方式,其特点是数字按顺时针方向从数组中心向外螺旋式地填充。这种填充模式在数据结构和算法的学习中颇为有趣,因为它涉及到了数组的操作以及对角线元素的处理。在...

    螺旋矩阵 noip2014普及组1.doc

    ### 螺旋矩阵问题分析与解法 #### 一、题目背景与要求 螺旋矩阵问题是NOIP2014普及组的一个经典编程题目。题目要求在给定一个正方形矩阵大小`n`以及矩阵中的某一点`(i, j)`的情况下,求出该点上的数字。这里所说的...

Global site tag (gtag.js) - Google Analytics