数组数组,对奇数位置的数字进行排序,输出排序后的完整数组

数组数组,对奇数位置的数字进行排序,输出排序后的完整数组
提示
列表的切片操作

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)