From 8b586df468a11a01e6b7dd27639b1f30ee5f247f Mon Sep 17 00:00:00 2001 From: Android_Dev <72254645+coder0903@users.noreply.github.com> Date: Sat, 3 Oct 2020 20:39:29 +0530 Subject: [PATCH] Create array_spiral_traversal We will be given a 2-D array in the matrix form and we have to traverse it in the spiral form. For example : Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Output: 1 2 3 4 8 12 16 15 14 13 9 5 6 7 11 10 --- array_spiral_traversal | 52 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 array_spiral_traversal diff --git a/array_spiral_traversal b/array_spiral_traversal new file mode 100644 index 0000000..5541eb6 --- /dev/null +++ b/array_spiral_traversal @@ -0,0 +1,52 @@ +// Java program to print a given matrix in spiral form +import java.io.*; + +class SpiralTraverse { + + static void spiralPrint(int m, int n, int a[][]) + { + int i, k = 0, l = 0; + + while (k < m && l < n) { + // Print the first row from the remaining rows + for (i = l; i < n; ++i) { + System.out.print(a[k][i] + " "); + } + k++; + + // Print the last column from the remaining + for (i = k; i < m; ++i) { + System.out.print(a[i][n - 1] + " "); + } + n--; + + // Print the last row from the remaining rows + if (k < m) { + for (i = n - 1; i >= l; --i) { + System.out.print(a[m - 1][i] + " "); + } + m--; + } + + // Print the first column from the remaining + + if (l < n) { + for (i = m - 1; i >= k; --i) { + System.out.print(a[i][l] + " "); + } + l++; + } + } + } + public static void main(String[] args) + { + int R = 3; + int C = 6; + int a[][] = { { 1, 2, 3, 4, 5, 6 }, + { 7, 8, 9, 10, 11, 12 }, + { 13, 14, 15, 16, 17, 18 } }; + + // Function Call + spiralPrint(R, C, a); + } +}