Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรม Python หมุนอาร์เรย์แบบวนรอบ (cyclically rotate) หนึ่งตำแหน่ง

กำหนดอาร์เรย์อินพุตผู้ใช้ งานคือหมุนแบบวนรอบ หมายถึงหมุนตามเข็มนาฬิกา

ตัวอย่าง

Input: A=[1,2,3,4,5]
Output=[5,1,2,3,4]

อัลกอริทึม

ขั้นตอนที่ 1: รับสมาชิกอาร์เรย์
ขั้นตอนที่ 2: เก็บสมาชิกตัวสุดท้ายในตัวแปร x
ขั้นตอนที่ 3: เลื่อนสมาชิกทั้งหมดหนึ่งตำแหน่งไปข้างหน้า
ขั้นตอนที่ 4: แทนที่สมาชิกตัวแรกด้วย x

โค้ดตัวอย่าง

# โปรแกรม Python หมุนอาร์เรย์แบบวนรอบหนึ่งตำแหน่ง
# เมธอดสำหรับหมุน
def rotate(A, n):
    x = A[n - 1]
    for i in range(n - 1, 0, -1):
        A[i] = A[i - 1]
    A[0] = x

# ฟังก์ชันหลัก
A = list()
n = int(input("ป้อนขนาดของลิสต์ ::"))
print("ป้อนสมาชิกของลิสต์ ::")
for i in range(int(n)):
    k = int(input(""))
    A.append(k)
print("อาร์เรย์คือ ::>")
for i in range(0, n):
    print(A[i], end=' ')
rotate(A, n)
print("\nอาร์เรย์หลังหมุน:")
for i in range(0, n):
    print(A[i], end=' ')

ผลลัพธ์

ป้อนขนาดของลิสต์ ::5
ป้อนสมาชิกของลิสต์ :: 8 7 90 67 56
อาร์เรย์คือ ::> 8 7 90 67 56
อาร์เรย์หลังหมุน
56 8 7 90 67