java二维数组旋转_二维数组的旋转赋值(递归)

该博客介绍了如何使用Java实现二维数组的顺时针旋转赋值,通过递归方法按回形从外向内进行赋值,提供了一个示例代码详细解释了赋值过程。
摘要由CSDN通过智能技术生成

描述

给定一个h行h列的整数数组array,要求从array[0][0]元素开始,按回形从外向内顺时针顺序赋值整个数组。如图所示:

![图片描述][1]

输出结果:4 4

1 2 3 4

12 13 14 5

11 16 15 6

10 9 8 7

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

int h = scanner.nextInt();//输入二维数组长度

int[][] arr = new int[h][h];//创建二维数组

setWay(arr,0,0);//赋值

for (int[] p : arr) {//遍历

for (int p1 : p) {

System.out.printf("%-4d",p1);

}

System.out.println();

}

System.out.println(t);

}

static int p = 1;//所赋的值

static int f = 0;//控制转向 0为右 1为下 2为左 3为上

static int t = 0;//纪录函数调用次数

public static boolean setWay(int[][]map,int i,int j){

if(i==map.length || j ==map.length || i == -1 || j == -1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值