有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数指针
时间: 2023-04-12 11:02:33 浏览: 189
在已排好序的数组里插一个数,按顺序输出(csdn)————程序.pdf
这道题目的意思是给定一个包含n个整数的数组,将数组中的元素向后移动m个位置,使得原来数组的前m个元素变成了移动后数组的最后m个元素。
例如,对于数组[1,2,3,4,5],当m=2时,移动后的数组为[3,4,5,1,2]。
实现这个算法的一种简单方法是使用一个临时数组,将原数组中的前m个元素复制到临时数组的末尾,然后将原数组中的剩余元素向后移动m个位置,最后将临时数组中的元素复制回原数组的前m个位置。
具体实现可以参考以下代码:
```python
def move_array(arr, m):
n = len(arr)
temp = arr[:m]
for i in range(m, n):
arr[i-m] = arr[i]
for i in range(n-m, n):
arr[i] = temp[i-n+m]
return arr
```
这个函数接受一个包含n个整数的数组arr和一个整数m作为参数,返回移动后的数组。首先将原数组中的前m个元素复制到临时数组temp中,然后将原数组中的剩余元素向后移动m个位置,最后将临时数组中的元素复制回原数组的前m个位置。
阅读全文