【编程习题★★☆☆☆】螺旋打印N*N的矩阵

题目:螺旋打印一个N*N的矩阵

输入:

1 2 3

4 5 6 

7 8 9

输出:1 2 3 6 9 8 7 4 5

分析:为行列定义输出的上界和下界,多次循环直到到达最优一个数字。

JAVA:

private void printCube(int[][] arr) {
		int widthlimit = arr[0].length - 1;
		int widthlow = 0;
		int heightlimit = arr.length - 1;
		int heightlow = 0;

		int i = heightlow;
		int j = widthlow;
		
		while (heightlimit >= heightlow) {
			for (j = widthlow; j <= widthlimit; j++) {
				System.out.print(arr[i][j] + "\t");
			}
			heightlow++;
			j--;
			for(i = heightlow; i <= heightlimit; i++){
				System.out.print(arr[i][j] + "\t");
			}
			widthlimit--;
			i--;
			for(j = widthlimit; j >= widthlow; j--){
				System.out.print(arr[i][j] + "\t");
			}
			heightlimit--;
			j++;
			for(i = heightlimit; i >= heightlow; i--){
				System.out.print(arr[i][j] + "\t");
			}
			widthlow++;
			i++;
		}
	}



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mychaint/article/details/46814665
个人分类: 编程习题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭