我是靠谱客的博主 重要盼望,最近开发中收集的这篇文章主要介绍生成n*n的二维数组(矩阵)从第一个元素开始按照顺时针螺旋逐个遍历输出每个元素。,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

生成nn的二维数组(矩阵)
1-数组中数据第一个位置为1,逐行逐个递增,直到最后一个位置数据是n
n
2-从第一个元素开始按照顺时针螺旋逐个遍历输出每个元素。
例如n=3,生成的矩阵是 array[3][3]
1 2 3
4 5 6
7 8 9
遍历结果是:123698745



import java.util.Scanner;

public class ArrayCircle {
	
	static int arr[][];
	static Scanner scanner = new Scanner(System.in);
	static int length;
	static int time = 0;
	
	
	public static void main(String[] args) {
		init();
		print_circle();
	}
//	生成n*n的二维数组(矩阵)
//	1-数组中数据第一个位置为1,逐行逐个递增,直到最后一个位置数据是n*n
//	2-从第一个元素开始按照顺时针螺旋逐个遍历输出每个元素。

	private static void print_circle() {
//		退出递归条件
		if(((length/2))<time) {
			return ;
		}
		int i = time;
		int j = time;
		//最上横排
		for(;j<length-time;j++) {
			System.out.print(arr[i][j]+" ");
		}
		j = j-1;
		i=i+1;
		//最后一列
		for(;i<length-time;i++) {
			System.out.print(arr[i][j]+" ");
		}
		j = j-1;
		i = i-1;
//		最下一排
		for(;j>=time;j--) {
			System.out.print(arr[i][j]+" ");
		}
		i = i-1;
		j = j+1;
//		最左一排
		for(;i>time;i--) {
			System.out.print(arr[i][j]+" ");
		}
		time++;
		print_circle();
	}

//	初始化赋值
	public static void init() {
		System.out.println("请输入数组长度:");
		length = scanner.nextInt();
		arr= new int[length][length];
		int num = 1;
		for(int i=0;i<length;i++) {
			for(int j=0;j<length;j++) {
				arr[i][j] = num;
				num++;
			}
		}
		
	}
}

最后

以上就是重要盼望为你收集整理的生成n*n的二维数组(矩阵)从第一个元素开始按照顺时针螺旋逐个遍历输出每个元素。的全部内容,希望文章能够帮你解决生成n*n的二维数组(矩阵)从第一个元素开始按照顺时针螺旋逐个遍历输出每个元素。所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部