Spirally traversing a matrix Java
- Get link
- X
- Other Apps
PROGRAM TO PRINT MATRIX IN SPIRAL FORM
import java.util.*; class MAIN { static int R = 4; static int C = 4; // Function for printing matrix in spiral // form i, j: Start index of matrix, row // and column respectively m, n: End index // of matrix row and column respectively static void print(int arr[][], int i, int j, int m, int n) { // If i or j lies outside the matrix if (i >= m || j >= n) { return; } // Print First Row for (int p = i; p < n; p++) { System.out.print(arr[i][p] + " "); } // Print Last Column for (int p = i + 1; p < m; p++) { System.out.print(arr[p][n - 1] + " "); } // Print Last Row, if Last and // First Row are not same if ((m - 1) != i) { for (int p = n - 2; p >= j; p--) { System.out.print(arr[m - 1][p] + " "); } } // Print First Column, if Last and // First Column are not same if ((n - 1) != j) { for (int p = m - 2; p > i; p--) { System.out.print(arr[p][j] + " "); } } print(arr, i + 1, j + 1, m - 1, n - 1); } // Driver Code public static void main(String[] args) { int a[][] = { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 }, { 13, 14, 15, 16 } }; // Function Call print(a, 0, 0, R, C); } }
OUTPUT
1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10
- Get link
- X
- Other Apps
Comments
Post a Comment