java方阵 回形取数
时间: 2023-11-10 20:03:02 浏览: 215
你可以按照以下的方式来实现一个Java方阵回形取数的算法:
```java
public class MatrixSpiralTraversal {
public static void main(String[] args) {
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
spiralTraversal(matrix);
}
public static void spiralTraversal(int[][] matrix) {
int top = 0;
int bottom = matrix.length - 1;
int left = 0;
int right = matrix[0].length - 1;
while (top <= bottom && left <= right) {
// Traverse top row
for (int i = left; i <= right; i++) {
System.out.print(matrix[top][i] + " ");
}
top++;
// Traverse right column
for (int i = top; i <= bottom; i++) {
System.out.print(matrix[i][right] + " ");
}
right--;
if (top <= bottom) {
// Traverse bottom row
for (int i = right; i >= left; i--) {
System.out.print(matrix[bottom][i] + " ");
}
bottom--;
}
if (left <= right) {
// Traverse left column
for (int i = bottom; i >= top; i--) {
System.out.print(matrix[i][left] + " ");
}
left++;
}
}
}
}
```
这个算法使用了四个指针,分别代表当前要遍历的上下左右边界。在每一步中,按照顺时针的方向遍历矩阵的边界,并将遍历到的元素输出。通过不断调整边界的位置,直到遍历完所有元素。
阅读全文