ในบทความนี้ เราจะเรียนรู้เกี่ยวกับการนำการเรียงลำดับแบบฟองสบู่ (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 หรือเวอร์ชันก่อนหน้า