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

โปรแกรม Python สำหรับ Gnome Sort

ในบทความนี้ เราจะเรียนรู้วิธีการแก้ปัญหาต่อไปนี้:

ข้อความปัญหา — กำหนดอาร์เรย์ ให้จัดเรียงโดยใช้ Gnome Sort

อัลกอริทึม

1. เริ่มต้นท่องอาร์เรย์จากซ้ายไปขวา
2. หากองค์ประกอบปัจจุบันมากกว่าหรือเท่ากับองค์ประกอบก่อนหน้า ให้ก้าวไปข้างหน้า 1 ขั้น
3. มิฉะนั้น หากองค์ประกอบปัจจุบันน้อยกว่าองค์ประกอบก่อนหน้า ให้สลับทั้งสององค์ประกอบและก้าวถอยหลัง 1 ขั้น
4. ทำซ้ำขั้นตอนข้างต้นจนถึงปลายอาร์เรย์

มาเปลี่ยนดูโค้ดตัวอย่างด้านล่างนี้:

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

def gnomeSort(arr, n):
    index = 0
    while index < n:
        if index == 0:
            index = index + 1
        if arr[index] >= arr[index - 1]:
            index = index + 1
        else:
            arr[index], arr[index-1] = arr[index-1], arr[index]
            index = index - 1
    return arr

# โปรแกรมหลัก
arr = [1, 4, 2, 3, 6, 5, 8, 7]
n = len(arr)
arr = gnomeSort(arr, n)
print("Sorted sequence is:")
for i in arr:
    print(i, end=" ")

ผลลัพธ์

Sorted sequence is: 1 2 3 4 5 6 7 8

โปรแกรม Python สำหรับ Gnome Sort

ตัวแปรทั้งหมดถูกประกาศในขอบเขตท้องถิ่น (local scope) และการอ้างอิงของมันแสดงในรูปภาพด้านบน

สรุป

ในบทความนี้ เราได้เรียนรู้วิธีการเขียนโปรแกรม Python สำหรับ Gnome Sort