概述
生成nn的二维数组(矩阵)
1-数组中数据第一个位置为1,逐行逐个递增,直到最后一个位置数据是nn
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的二维数组(矩阵)从第一个元素开始按照顺时针螺旋逐个遍历输出每个元素。所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复