Sửa lỗi trong thuật toán sắp xếp nổi bọt (bubble sort)
Bạn được cung cấp một chương trình sắp xếp danh sách số bằng thuật toán bubble sort. Khi kiểm thử, bạn nhận ra mã chưa đúng. Bạn có thể sửa thuật toán để nó hoạt động chính xác không?
Bài tập này là một phần của khóa học
Cấu trúc dữ liệu và Thuật toán với Python
Hướng dẫn bài tập
- Sửa lỗi trong phần gán biến
is_sorted. - Sửa lỗi khi kiểm tra các giá trị liền kề.
- Sửa lỗi khi cập nhật giá trị cho biến
list_length.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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]))