Python程序实现数组旋转的反转算法
当需要将一个旋转后的数组反转时,可以定义一种方法,它遍历列表并对其进行反转。还定义了另一种方法,它旋转列表并定义了另一种方法来显示列表。使用简单的循环和索引即可实现。
下面是一个演示−
更多Python相关文章,请阅读:Python 教程
示例
def reverse_list(my_list, begin, end):
while (begin < end):
temp = my_list[begin]
my_list[begin] = my_list[end]
my_list[end] = temp
begin += 1
end = end-1
def left_rotate(my_list, to_rotate):
n = len(my_list)
reverse_list(my_list, 0, to_rotate-1)
reverse_list(my_list, to_rotate, n-1)
reverse_list(my_list, 0, n-1)
def print_it(my_list):
for i in range(0, len(my_list)):
print(my_list[i])
my_list = [34, 42, 56, 78, 9, 0, 23]
print("The list is :")
print(my_list)
print("The left_rotate method is being called")
left_rotate(my_list, 3)
print("The list after rotation is : ")
print_it(my_list)
输出
The list is :
[34, 42, 56, 78, 9, 0, 23]
The left_rotate method is being called
The list after rotation is :
78
9
0
23
34
42
56
解释
- 定义了名为“reverse_list”的方法,用于反转给定列表。
- 定义了另一个名为“rotate_list”的方法,它根据特定的中心值旋转列表。
- 定义了另一个名为“print_it”的方法,它在控制台上打印列表。
- 定义了一个列表,并在控制台上显示它。
- 对此列表调用“left_rotate”方法,并在旋转和反转后在控制台上显示元素。