输入数据的个数n n个整数移动的位置m,n个整数,使前面各数顺序向后移m个位置,最后m个数变成前面m个数,见图。写一函数:实现以上功能,在主函数中输入n个数和输出调整后的n个数。python代码
时间: 2024-01-26 13:04:38 浏览: 77
juzhen.rar_M?n
以下是一个实现该功能的 Python 代码:
```python
def move_array(arr, n, m):
m %= n
reverse(arr, 0, n - 1)
reverse(arr, 0, m - 1)
reverse(arr, m, n - 1)
def reverse(arr, start, end):
while start < end:
arr[start], arr[end] = arr[end], arr[start]
start += 1
end -= 1
n = int(input("请输入数组长度:"))
arr = []
for i in range(n):
arr.append(int(input("请输入第{}个数:".format(i + 1))))
m = int(input("请输入移动的位置:"))
move_array(arr, n, m)
print("移动后的数组为:", arr)
```
该函数接受三个参数:数组 `arr`,数组长度 `n`,以及要移动的位置数 `m`。在函数内部,我们首先将 `m` 取模,以确保它小于数组长度,然后分别对前 `m` 个数、后 `n-m` 个数、以及整个数组进行翻转操作,最后得到的就是我们要求的结果。在主函数中,我们输入数组的长度和每个数值,以及要移动的位置数,然后调用 `move_array` 函数,最后输出移动后的数组。
阅读全文