数组数组,对奇数位置的数字进行排序,输出排序后的完整数组
提示
列表的切片操作
arr = [3, 8, 2, 5, 1, 4]
# 从1开始每隔2个位置循环遍历数组
for i in range(1, len(arr), 2):
# 从当前位置i开始往前查找,将当前位置上的数字与前面的数字比较
for j in range(i, 0, -2):
if arr[j] < arr[j-2]:
# 如果当前数字比前面的数字小,则交换它们的位置
arr[j], arr[j-2] = arr[j-2], arr[j]
else:
# 如果当前数字比前面的数字大,则停止循环
break
# 输出排序后的完整数组
print(arr)
# 定义一个数组
arr = [5, 2, 8, 1, 9, 3, 7, 4]
# 对数组的奇数位置的数字进行排序
odd = arr[1::2] # 获取奇数位置的数字
odd.sort() # 对奇数位置的数字进行排序
# 将排序后的奇数位置的数字放回原来的位置
arr[1::2] = odd
# 输出排序后的完整数组
print(arr)