Computer >> 컴퓨터 >  >> 프로그램 작성 >> 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' 메서드가 호출되며 회전 및 반전 후 요소가 콘솔에 표시됩니다.