二维数组顺时针输出
来源:互联网 发布:安卓手机优化软件 编辑:程序博客网 时间:2024/05/22 02:25
很简单的一个算法,结果弄了半天,最后发现是行和列弄错了,心塞塞
这种题还是找出数学规律重要
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */package javaapplication1;/** * * @author YJZ */public class PrintMatrixClockwisely { public static void PrintMatrix(int a[][],int columns,int rows){ if(a==null||columns<=0||rows<=0){ System.out.print("输入错误"); } int start =0; while(columns>start*2&&rows>start*2){ PrintMatrixInCircle(a,columns,rows,start); start++; } } public static void PrintMatrixInCircle(int a[][],int columns,int rows,int start){ int endX=rows-1-start; int endY=columns-1-start; //从左到右 for(int i=start;i<=endX;i++){ int number=a[start][i]; PrintNumber(number); } //从上到下 if(start<endY){ for(int i=start+1;i<=endY;i++){ int number=a[i][endX]; PrintNumber(number); } } //从右到左 if(start<endX&&start<endY){ for(int i=endX-1;i>=start;--i){ int number=a[endY][i]; PrintNumber(number); } } //从下到上 if(start<endX&&start<endY-1){ for(int i=endY-1;i>=start;--i){ int number=a[i][start]; PrintNumber(number); } } } public static void PrintNumber(int number) { System.out.print(number+" "); } public static void Text(int columns,int rows){ int[][] aa=new int[columns][rows]; int b=1; for(int i=0;i<columns;i++){ for(int j=0;j<rows;j++){ aa[i][j]=b; b++; } } PrintMatrix(aa,columns,rows); System.out.println(" "); } /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here Text(4,1); Text(1,4); Text(4,4); Text(1,1); }}
0 0
- 二维数组顺时针输出
- [Java Code]顺时针输出二维数组
- 顺时针输出一个二维数组的内容
- Java 实现顺时针螺旋二维数组输出
- 顺时针输出二维数组元素值
- 顺时针打印二维数组(螺旋输出数组)
- 二维数组顺时针打印
- 顺时针打印二维数组
- 顺时针输出数组
- 顺时针输入二维数组问题
- 顺时针螺旋打印二维数组
- c语言:使一个N*N二维数组输出呈顺时针螺旋递增
- 数组矩阵的顺时针输出
- 顺时针填充二维数组(c语言实现)
- 剑指offer之顺时针打印二维数组
- 顺时针打印二维数组---执行判断
- 输出一个二维数组
- C# 输出二维数组
- webservices使用MTOM附件抛出的内存溢出
- Java---IO(Scanner和BufferedReader)
- 1021 个位数统计
- mongoDB基础知识2----基本操作(CRUD),索引(常见、全文、地理位置)
- Objective-C: 多态
- 二维数组顺时针输出
- 实现strtok_r()函数
- ActiveMQ与Spring整合:(1)基本使用
- jsp中四个域对象
- Struts2 中Action的执行结果类型
- 关于H264的补充
- 关于Can't create handler inside thread that has not called Looper.prepare()
- Android 蓝牙开发基本流程
- EasyUI datagrid 实现标题居中,内容居左的方法