แก้ไขข้อผิดพลาดในอัลกอริทึม Bubble Sort
โปรแกรมนี้ใช้อัลกอริทึม bubble sort ในการเรียงลำดับตัวเลขในลิสต์ แต่เมื่อทดสอบแล้วพบว่าโค้ดยังไม่ถูกต้อง ลองแก้ไขอัลกอริทึมให้ทำงานได้อย่างถูกต้องดูสิ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
โครงสร้างข้อมูลและอัลกอริทึมใน Python
คำแนะนำการฝึกหัด
- แก้ไขข้อผิดพลาดในการกำหนดค่าให้กับตัวแปร
is_sorted - แก้ไขข้อผิดพลาดในการตรวจสอบค่าที่อยู่ติดกัน
- แก้ไขข้อผิดพลาดในการอัปเดตค่าของตัวแปร
list_length
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
def bubble_sort(my_list):
list_length = len(my_list)
# Correct the mistake
is_sorted = True
while not is_sorted:
is_sorted = True
for i in range(list_length-1):
# Correct the mistake
if my_list[i] < my_list[i+1]:
my_list[i] , my_list[i+1] = my_list[i+1] , my_list[i]
is_sorted = False
# Correct the mistake
list_length += 1
return my_list
print(bubble_sort([5, 7, 9, 1, 4, 2]))