给定一个m行n列整型矩阵A,编写一个函数swapt,使得它对A的元素进行交换,具体如下:
第一个元素和倒数第一个元素交换,第二个元素和倒数第二个元素交换...在具体实现时不允许另设矩阵
00 01 02 03 23 22 21 20
10 11 12 13 ==> 13 12 11 10
20 21 22 23 03 02 01 00
思路:
用python中的列表模拟数组,列表中的元素个数等于二维数组的行
列表中的每个元素是一个列表,其中元素的个数等于二维数组的列
先把第一行和最后一行交换,第二行和倒数第二行交换...再把每一行中的第一列和最后一列交换,第二列和倒数第二列交换
用C语言编程实现时,需要区分二维数组的行是奇数还是偶数;用python时则不需要考虑,在python中一行元素作为列表可以当作一个整体进行操作
def swapt(arrays):
row=len(arrays)#行
col=len(arrays[0])#列
for i in range(row):
if i<(row//2):#整除
temp=arrays[i]
arrays[i]=arrays[row-i-1]
arrays[row-i-1]=temp
for j in range(col//2):
temp=arrays[i][j]
arrays[i][j]=arrays[i][col-1-j]
arrays[i][col-1-j]=temp
if __name__=='__main__':
xxs=[
['00','01','02','03','04'],
['10','11','12','13','14'],
['20','21','22','23','24'],
]
#调用交换函数
swapt(xxs)
#输出
for xx in xxs:
print(xx)