數組螺旋列印

來源:互聯網
上載者:User
package su.interview;import utils.com.Matrixer;/** * 螺旋列印數列 *  * @author Toy *  */public class Array_01 {/** * 從外向裡列印 東南西北--東南西北.. N->N-1->N-1->N-2 *  * @return */public int[][] print_01(int n) {int[][] matrix = new int[n][n];int i = 0;int j = 0;int num = 1;while (n > 0) {// 東System.out.println("A: " + i + " " + j);for (int k = 0; k < n; k++) {matrix[i][j] = num;num++;j++;}j--;i++;// 南System.out.println("B: " + i + " " + j);for (int k = 0; k < n - 1; k++) {matrix[i][j] = num;num++;i++;}i--;j--;// 西System.out.println("C: " + i + " " + j);for (int k = 0; k < n - 1; k++) {matrix[i][j] = num;num++;j--;}j++;i--;// 北System.out.println("D: " + i + " " + j);for (int k = 0; k < n - 2; k++) {matrix[i][j] = num;num++;i--;}i++;j++;n = n - 2;}return matrix;}/** * 從裡向外列印(順時針) 北東南西--北東南西.. N->N-1->N->N *  * @return */public int[][] print_02(int n) {int[][] matrix = new int[n][n];int i = n / 2;int j = (n-1) / 2;int num = 1;int step=2;while (num<=n*n) {System.out.println("step: "+step);// 北System.out.println("D: " + i + " " + j);for (int k = 0; k < step&&(num<=n*n); k++) {matrix[i][j] = num;num++;i--;}i++;j++;// 東System.out.println("A: " + i + " " + j);for (int k = 0; k < (step-1)&&(num<=n*n); k++) {matrix[i][j] = num;num++;j++;}j--;i++;// 南System.out.println("B: " + i + " " + j);for (int k = 0; k < step&&(num<=n*n); k++) {matrix[i][j] = num;num++;i++;}i--;j--;// 西System.out.println("C: " + i + " " + j);for (int k = 0; k < step&&(num<=n*n); k++) {matrix[i][j] = num;num++;j--;}j++;i--;step=step+1;}return matrix;}/** * @param args */public static void main(String[] args) {int n = 3;int[][] m;Array_01 arr = new Array_01();m = arr.print_01(n);Matrixer.show(m, n, n);m = arr.print_02(n);Matrixer.show(m, n, n);}}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.