"""
旋转矩阵
给定一个n阶二维矩阵,将矩阵顺时针旋转90度
要求:必须在原地旋转矩阵,即直接修改输入的二维矩阵,不要使用另
一个矩阵来辅助旋转。
"""
from day067 import gen, show
def rotate(matrix):
"""
旋转二维矩阵。
该函数通过交换矩阵的行和列来实现顺时针旋转90度。
:param matrix: 二维列表,表示待旋转的矩阵
"""
# 获取矩阵的长度
length = len(matrix)
# 交换矩阵对角线两侧的元素,实现水平翻转
for i in range(length // 2):
for j in range(length):
matrix[i][j], matrix[length - i - 1][j] = matrix[length - i - 1][j], matrix[i][j]
# 交换矩阵每行元素的位置,实现垂直翻转
for i in range(length):
for j in range(i):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
# 生成一个6x6的矩阵
matrix = gen(6)
# 显示旋转前的矩阵
print('旋转前矩阵如下:')
show(matrix)
# 调用旋转函数
rotate(matrix)
# 显示旋转后的矩阵
print('旋转后矩阵如下:')
show(matrix)
评论前必须登录!
注册