输入一个矩阵 将这个矩阵顺时针以顺时针的顺序依次打印 java实现
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了输入一个矩阵 将这个矩阵顺时针以顺时针的顺序依次打印 java实现,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1490字,纯文字阅读大概需要3分钟。
内容图文
![输入一个矩阵 将这个矩阵顺时针以顺时针的顺序依次打印 java实现](/upload/InfoBanner/zyjiaocheng/851/a70176fe89fe4202a6a3d0928302cff3.jpg)
/**
-
输入一个矩阵 将这个矩阵顺时针以顺时针的顺序依次打印
-
1 2 3
-
4 5 6 ——>1 2 3 6 9 8 7 4 5
-
7 8 9
-
@author Administrator
*解题的思路就是从最外层开始输出,然后一圈一圈的向内收缩输出
*/
public class JuZhen {
public static void main(String[] args) {
//测试数据
int [][]nums={{1,2,3},{4,5,6},{7,8,9}};
int [][]nums2={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int [][]nums3={{1,2},{3,4}};
int [][]nums4={{1}};
int [][]nums5={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
int [][]nums6={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15}};
shuChu(0,0,nums6.length-1,nums6[0].length-1,nums6);
}public static void shuChu(int starX,int starY,int endX,int endY,int [][]nums){
//解决类似 7 8 9 这样的数 如果不写这个数组就会输出 7 8 9 8 7 if(starX==endX){ //输出一层 for (int i = starY; i < endY+1; i++) { System.out.print(nums[starX][i]+" "); } return; } if(starY==endY){ for (int i = starX+1; i < endX+1; i++) { System.out.print(nums[i][endY]+" "); } } //输出一层 for (int i = starY; i < endY+1; i++) { System.out.print(nums[starX][i]+" "); } for (int i = starX+1; i < endX+1; i++) { System.out.print(nums[i][endY]+" "); } for (int i = endY-1; i >=starY; i--) { System.out.print(nums[endX][i]+" "); } for (int i = endX-1; i >starX; i--) { System.out.print(nums[i][starY]+" "); } //判断此时这一个环的形态 if(starX+1>endX-1||starY+1>endY-1){ //最后一个矩阵是矩形 高大于2 return; } if(starX==endX&&starY==endY){ //最后一个矩阵是的单个 return; } if(starX+1==endX&&starY+1==endY){ //最后一个矩阵是田字格 return; } shuChu(starX+1, starY+1, endX-1, endY-1, nums);
}
}
内容总结
以上是互联网集市为您收集整理的输入一个矩阵 将这个矩阵顺时针以顺时针的顺序依次打印 java实现全部内容,希望文章能够帮你解决输入一个矩阵 将这个矩阵顺时针以顺时针的顺序依次打印 java实现所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。