1.下面是一个5X5阶螺旋方阵,设计一个算法输出此形式的n×n(n<20)阶阵(提 示:逆时针方向旋转)。
时间: 2024-11-09 15:24:50 浏览: 27
要设计一个算法生成逆时针方向的n×n阶螺旋方阵,可以采用迭代的方式来实现。这里给出一个简单的Python示例,用于生成指定大小的螺旋矩阵:
```python
def spiral_matrix(n):
matrix = [[0] * n for _ in range(n)]
top, bottom, left, right = 0, n - 1, 0, n - 1
direction = [(0, 1), (1, 0), (0, -1), (-1, 0)] # 上、右、下、左
while True:
for i in range(left, right + 1):
matrix[top][i] = i
top += 1
if top == bottom or left == right:
break
for i in range(top, bottom + 1):
matrix[i][right] = n - 1 - i
right -= 1
if top == bottom or left == right:
break
for i in range(right, left - 1, -1):
matrix[bottom][i] = n - 1 - bottom
bottom -= 1
if top == bottom or left == right:
break
for i in range(bottom, top - 1, -1):
matrix[i][left] = left
left += 1
return matrix
# 使用例子
n = 5
result = spiral_matrix(n)
for row in result:
print(row)
阅读全文