Posted on by Kalkicode
Code Matrix

# Spiral traversal of matrix in typescript

Ts program for Spiral traversal of matrix. Here problem description and other solutions.

``````// TypeScript program for
// Spiral form of matrix
class SpiralView
{
public spiral(data: number[][],
startRow: number, startCol: number,
endRow: number, endCol: number, element: number)
{
// Left to right
for (var i = startCol; i <= endCol && element > 0; ++i)
{
element--;
console.log("  " + data[startRow][i]);
}
// Top to down
for (var i = startRow + 1; i <= endRow && element > 0; ++i)
{
element--;
console.log("  " + data[i][endCol]);
}
// Bottom right to bottom-left
for (var i = endCol - 1; i >= startCol && element > 0; --i)
{
element--;
console.log("  " + data[endRow][i]);
}
// Bottom left to top
for (var i = endRow - 1; i > startRow && element > 0; --i)
{
element--;
console.log("  " + data[i][startRow]);
}
if (startRow + 1 <= endRow - 1 && element > 0)
{
// Recursive call
this.spiral(data, startRow + 1,
startCol + 1, endRow - 1,
endCol - 1, element);
}
}
public static main(args: string[])
{
// Given matrix
var matrix: number[][] = [
[1, 2, 3, 4, 5, 6],
[22, 23, 24, 25, 26, 7],
[21, 36, 37, 38, 27, 8],
[20, 35, 42, 39, 28, 9],
[19, 34, 41, 40, 29, 10],
[18, 33, 32, 31, 30, 11],
[17, 16, 15, 14, 13, 12]
];
var row = matrix.length;
var col = matrix[0].length;
// Get the number of element
var element = row * col;
task.spiral(matrix, 0, 0, row - 1, col - 1, element);
}
}
SpiralView.main([]);
/*
file : code.ts
tsc --target es6 code.ts
node code.js
*/``````

Output

``````  1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42``````

## Comment

Please share your knowledge to improve code and content standard. Also submit your doubts, and test case. We improve by your feedback. We will try to resolve your query as soon as possible.

Categories
Relative Post