Skip to content

Instantly share code, notes, and snippets.

@pascalevi4
Last active November 28, 2022 10:06
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pascalevi4/f98afe150f240660c978 to your computer and use it in GitHub Desktop.
Save pascalevi4/f98afe150f240660c978 to your computer and use it in GitHub Desktop.
Пример обхода матрицы по спирали на js
var A = [
[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]
];
var depth = 0;
var len = A.length - 1;
var maxDepth = Math.ceil(len / 2);
iterate = function() {
for(var i = depth; i <= len - depth; i++) {
console.log(A[depth][i]);
}
for(var i = depth + 1; i <= len - depth; i++) {
console.log(A[i][len - depth]);
}
for(var i = len - depth - 1; i >= depth; i--) {
console.log(A[len - depth][i]);
}
for(var i = len - depth - 1; i >= depth + 1; i--) {
console.log(A[i][depth]);
}
depth = depth + 1;
if(depth <= maxDepth) iterate();
};
iterate();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment