您的位置:

Python 程序:向右旋转数组元素

在这个简单的 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]