在这个简单的 python 程序中,我们需要右旋转数组中的元素。这是一个基于数组的 python 程序。
要理解这个例子,您应该了解以下 Python 编程主题:
- Python 语法
- Python 循环
- Python 列表
如何向右旋转或移动数组中的元素?
在这个关于数组的简单 python 程序中,我们需要右旋转数组的元素。数组是存储在顺序存储位置的相同数据类型元素的集合。我们必须将每个元素向右移动 n 次,其中 n 由用户给出。
例如,考虑一个有 5 个元素的数组 A:A =[1,2,3,4,5]。假设 n 的值是 3,那么为了得到结果,我们必须向右移动元素 3 次。在第一次迭代中,我们将元素向右移动一个,并将数组的最后一个元素追加到数组的第一个位置,数组将类似于 A = [ 5,1,2,3,4]。在第二次迭代中,我们将再次向右移动元素,然后将最后一个元素追加到数组的第一个元素中。然后数组将像 A = [ 4,5,1,2,3]等等。
因此,将该逻辑应用于这个简单的 python 程序,我们在 python 中使用嵌套 for 循环。一个外For loop
,它从零循环到 n 的值,并将数组的最后一个元素赋给最后一个变量。【外部】for loop
一直持续到用户想要向右旋转数组元素多少次。现在我们反向使用内部的for loop
,这意味着,从数组的最后一个元素减 1 到零递减 1 并应用数组[j] =数组[j-1]。然后最后我们追加第一个元素作为变量。
算法
步骤 1: 用一些预定义的值初始化一个数组。
STEP 2: 给 n 赋值,确定我们要右移数组元素多少次。
第三步:使用for loop
显示实数组,用 python 编程语言打印语句。
STEP 4: 将外部 for 循环从零添加到 n 并应用一个具有数组最后一个元素值的变量。
步骤 5: 使用内部 for 循环从数组末尾减一到零减一。
STEP 6: 赋值数组[j] = arr[j-1] 并追加变量数组的第一个元素。
STEP 7: 使用 python 语言中的 for 循环显示右移后的数组。
Python 源代码
arr = [1, 2, 3, 4, 5];
n = 3; # value of how many times the array should be right shifted
print("Original array: "); # display the real array
for i in range(0, len(arr)):
print(arr[i]),
for i in range(0, n):
last = arr[len(arr)-1]; # add the last element of array to a variable
for j in range(len(arr)-1, -1, -1):
arr[j] = arr[j-1]; # use the for loop and assign the value array[j] = array[j-1]
arr[0] = last; # append the first element of array from the variable
print();
print("Array after right rotation: "); # print array after rotation
for i in range(0, len(arr)):
print(arr[i]),
输出
Original array:
[ 1, 2, 3, 4, 5]
Array after right rotation
[3, 4, 5, 1, 2]