数组旋转的反转算法 Python 程序
pythonserver side programmingprogramming更新于 2024/1/27 1:30:00
当需要反转旋转数组时,会定义一个方法,该方法遍历列表并反转列表。 定义另一个方法,该方法旋转列表,并定义另一个方法显示列表。 使用简单的循环和索引来实现这一点。
下面是相同的演示 −
示例
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("列表为:") 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)
输出
列表为: [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’方法,并在旋转和反转后将元素显示在控制台上。