定义一个整型数组,并将指定个数的元素翻转到数组的尾部。
例如:(ar[], d, n) 将长度为 n 的 数组 arr 的前面 d 个元素翻转到数组尾部。
以下演示了将数组的前面两个元素放到数组后面。
原始数组:1234567
翻转后:3456712
def leftrotate(arr,d,n):
for i in range(d):
leftrotatebyone(arr,n)
def leftrotatebyone(arr,n):
temp=arr[0]
for i in range(n-1):
arr[i]=arr[i+1]
arr[n-1]=temp
def printarray(arr,size):
for i in range(size):
print("%d"% arr[i],end=" ")
arr=[1,2,3,4,5,6,7]
leftrotate(arr,2,7)
printarray(arr,7)
这段代码是用来实现数组的左旋转(left rotation)操作的,它将数组中的元素向左移动指定的次数。下面是代码的解释:
-
leftRotate(arr, d, n)
函数接受三个参数:arr
:待旋转的数组。d
:旋转的次数,即要将数组向左移动的位数。n
:数组的大小,即数组中元素的个数。
-
leftRotatebyOne(arr, n)
函数用于执行一次左旋转操作,即将数组中的所有元素向左移动一个位置。这个函数接受两个参数:arr
:待旋转的数组。n
:数组的大小,即数组中元素的个数。
-
leftRotate(arr, d, n)
函数使用一个循环来调用leftRotatebyOne(arr, n)
函数d
次,以实现整个数组的左旋转。 -
leftRotatebyOne(arr, n)
函数执行一次左旋转操作,它首先将数组的第一个元素存储在临时变量temp
中,然后通过循环将数组中的元素向左移动一个位置,最后将temp
中的值放回数组的最后一个位置,以完成一次左旋转。 -
printArray(arr, size)
函数用于打印数组中的元素,它接受两个参数:arr
:要打印的数组。size
:数组的大小,即数组中元素的个数。
最后,代码中给定了一个数组 arr
,然后调用 leftRotate(arr, 2, 7)
来将数组左旋转两次,然后使用 printArray(arr, 7)
函数打印旋转后的数组元素。这将输出旋转后的数组,例如:
3 4 5 6 7 1 2