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

โปรแกรม Python สำหรับการเรียงลำดับแบบฟองสบู่ (Bubble Sort)


ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการนำการเรียงลำดับแบบฟองสบู่ (Bubble Sort) ไปใช้งาน

ภาพด้านล่างแสดงการทำงานของอัลกอริทึมนี้

โปรแกรม Python สำหรับการเรียงลำดับแบบฟองสบู่ (Bubble Sort)

แนวทาง

  • เริ่มจากองค์ประกอบแรก (ดัชนี = 0) เปรียบเทียบองค์ประกอบปัจจุบันกับองค์ประกอบถัดไปในอาร์เรย์

  • หากองค์ประกอบปัจจุบันมากกว่าองค์ประกอบถัดไป ให้สลับตำแหน่งกัน

  • หากองค์ประกอบปัจจุบันน้อยกว่าองค์ประกอบถัดไป ให้ไปยังองค์ประกอบถัดไป

ทำซ้ำขั้นตอนที่ 1

มาดูการนำไปใช้งานด้านล่างนี้

ตัวอย่าง

def bubbleSort(ar):
    n = len(ar)
    # วนลูปผ่านทุกองค์ประกอบของอาร์เรย์
    for i in range(n):
        # องค์ประกอบ i ตัวสุดท้ายอยู่ในตำแหน่งที่ถูกต้องแล้ว
        for j in range(0, n - i - 1):
            # สลับถ้าองค์ประกอบที่พบมากกว่าองค์ประกอบถัดไป
            if ar[j] > ar[j + 1]:
                ar[j], ar[j + 1] = ar[j + 1], ar[j]

# โค้ดไดรเวอร์เพื่อทดสอบ
ar = ['t', 'u', 't', 'o', 'r', 'i', 'a', 'l']
bubbleSort(ar)
print("Sorted array is:")
for i in range(len(ar)):
    print(ar[i])

ผลลัพธ์

Sorted array is: a i o r t t u l

สรุป

ในบทความนี้ เราได้เรียนรู้แนวทางในการทำ Bubble Sort ด้วย Python 3.x หรือเวอร์ชันก่อนหน้า