Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python thuật toán đảo ngược cho xoay mảng (Array Rotation)

Khi cần đảo ngược mảng đã xoay, định nghĩa phương thức duyệt list và đảo list. Định nghĩa phương thức xoay list, và phương thức hiển thị list. Dùng vòng lặp và indexing đơn giản.

Minh họa:

Ví dụ

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 -= 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("List là: ")
print(my_list)
print("Gọi phương thức left_rotate")
left_rotate(my_list, 3)
print("List sau xoay: ")
print_it(my_list)

Đầu ra

List là:
[34, 42, 56, 78, 9, 0, 23]
Gọi phương thức left_rotate
List sau xoay:
78
9
0
23
34
42
56

Giải thích

  • Định nghĩa 'reverse_list' đảo list cho trước.
  • Định nghĩa 'rotate_list' xoay list dựa trên pivot.
  • Định nghĩa 'print_it' in list.
  • Định nghĩa list, hiển thị.
  • Gọi 'left_rotate', hiển thị sau xoay và đảo.