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' ซึ่งจะหมุนเวียนรายการตามค่า pivot เฉพาะ
  • มีการกำหนดวิธีการอื่นที่ชื่อว่า 'print_it' ซึ่งจะพิมพ์รายการบนคอนโซล
  • รายการถูกกำหนดและแสดงบนคอนโซล
  • มีการเรียกใช้เมธอด 'left_rotate' ในรายการนี้ และองค์ประกอบต่างๆ จะแสดงบนคอนโซลหลังการหมุนและการกลับรายการ